Commit Graph

66789 Commits

Author SHA1 Message Date
Alex Vandiver
3538455ca8 email_mirror: Drop missed-message emails which are autogenerated.
Emails to missed-message email addressees which are marked
"auto-replied" are clearly auto-replies, and will not contribute
usefully to the conversation.  We also ignore "auto-generated" emails
to missed-message addresses, as they must actually be auto-replies
which are misclassifying themselves, as missed-message addresses are
not meant to be targets for any auto-generated emails.

We accept auto-generated and auto-replied emails to stream incoming
email addresses, as auto-generated emails to those are clearly useful,
and auto-replied emails are unexpected enough to allow (given that
Zulip does not produce outgoing emails From: stream email addresses).
2025-09-26 09:18:13 -07:00
Aman Agrawal
f2a11c5858 inbox: Avoid extra margin from folders hidden by filters.
If all channels in a folder are muted, then this margin is present
in "Standard view", without there being any folder present.

Fixed by only applying margin if the folder has any header or rows
that are not hidden by filters.

This is an alternative fix to #35962 which was reverted in #36123.
2025-09-26 09:16:26 -07:00
Evy Kassirer
19880797db channel_folders: Fix remaining test TODOs.
Fixes #35494.
2025-09-25 17:31:21 -07:00
Karl Stolley
c21d2918da inbox: Correct margin declaration to avoid odd gap. 2025-09-25 17:27:35 -07:00
Alex Vandiver
85d50d09d4 postgresql: Default random_page_cost to 1.1.
The upstream PostgreSQL default is 4, which is more appropriate for
spinning disks.  In general, production deploys almost always use
SSDs; adjust the Zulip default value to a better value for those.
2025-09-25 13:40:02 -07:00
Evy Kassirer
cb36774b14 message_events: Use MessageEditHistoryEntry type.
Followup to https://github.com/zulip/zulip/pull/32492#discussion_r1878636631
2025-09-25 09:24:32 -07:00
Evy Kassirer
51e056f49f topic_list: Don't treat clicked topics as potentially undefined. 2025-09-25 09:24:07 -07:00
Evy Kassirer
d14ef2046b recent_view_ui: Type avatar_element as HTMLElement. 2025-09-25 09:24:07 -07:00
Evy Kassirer
68e86b0905 pygments_data: Remove undefined option for lang value.
It's clear from the removed assert that it's never undefined.
2025-09-25 09:24:07 -07:00
Aman Agrawal
63613051ac deactivated_org: Direct org members to contact org admins.
This helps clarify that normal members cannot reactivate the
org by contacting us.
2025-09-24 12:02:56 -07:00
Aman Agrawal
40f4ad2cb0 register: Add AI/LLM as option for how user found Zulip. 2025-09-24 10:24:23 -07:00
Aman Agrawal
c6bf35b392 registration: Use a loop to set extra content value. 2025-09-24 10:24:23 -07:00
Lauryn Menard
8e385661c5 compose-close: Consolidate current logic for updating buttons.
Refactors compose_closed_ui.update_buttons to cover all three
cases for these button states: direct, stream and non-specfic.

Moves the logic in update_buttons_for_non_specific_views,
update_buttons_for_private, and update_buttons_for_stream_views
to the update_buttons function.

The default case, which is used in views without a filter (i.e.,
recent conversations and inbox), is the non-specific case.
2025-09-23 12:32:40 -07:00
Lauryn Menard
725d22c4c3 compose-closed: Extract shared new conversation button helper. 2025-09-23 12:32:40 -07:00
Lauryn Menard
1c7e4a5e09 compose-closed: Fix updating buttons when not in DM narrow.
When processing a server event or an empty message fetch,
we were incorrectly updating the closed new conversation
button attribute, "data-conversation-type" to be "direct"
without checking to see if the current narrow filter was
actually a direct message view.

Adds a helper function that checks the current filter for
contains_only_private_messages and then calls
compose_closed_ui.update_buttons_for_private when true.

That's the same check that's used in
message_view.handle_post_view_change when
compose_closed_ui.update_buttons_for_private is called,
so we're consistently using the same check when updating
the closed compose box buttons for this state.
2025-09-23 12:32:40 -07:00
Lauryn Menard
c1480bec36 compose-closed: Extract helper for disable reply to dm recipient.
Extracts a helper function with the logic for disabling the reply
to conversation button for the direct message recipient case.
2025-09-23 12:32:40 -07:00
Sahil Batra
de5a78344a user_groups: Remove unnecessary select_related.
There is no need for 'select_related("usergroup_ptr")' in queries
for NamedUserGroup table because Django always does a join against
base UserGroup table.
2025-09-23 12:15:53 -07:00
Sahil Batra
764f4aa2e0 groups: Use realm_for_sharding for limiting NamedUserGroup queries.
For get and filter queries of NamedUserGroup, realm_for_sharding
field is used instead of realm field, as directly using
realm_for_sharding field on NamedUserGroup makes the query faster
than using realm present on the base UserGroup table.
2025-09-23 12:15:53 -07:00
Sahil Batra
d4d7a8fe2a streams: Make sure that unused anonymous groups are not created.
Anonymous groups were being created for stream permission
settings when calling the subscriptions endpoint without
any streams data or when calling it only for subscribing
users to streams and not for creating any new streams.

This commit makes sure that no such unused anonymous groups
are created.
2025-09-23 12:15:51 -07:00
Sahil Batra
1e21f7b224 register: Rename stream_creator_or_nobody to channel_creator.
This commit renames `stream_creator_or_nobody` value for
`default_group_name` field in `server_supported_permission_settings`
object to `channel_creator`.
2025-09-23 12:12:23 -07:00
Sahil Batra
8c7628fbc4 openapi: Improve description for default_group_name field.
This commit updates the description for `default_group_name`
field in `server_supported_permission_settings` object to
clearly mention that `stream_creator_or_nobody` is one of
the possible values and explain its meaning.
2025-09-23 12:04:07 -07:00
Sahil Batra
a9afe1becf openapi: Improve description for channel creator.
This commit updates description for channel creator field
`creator_id` to mention that it can be null for channels
created during realm creation.
2025-09-23 12:04:07 -07:00
Evy Kassirer
fc9bbd37a0 search: Align suggestion left padding with search bar icon space. 2025-09-23 11:39:12 -07:00
Prakhar Pratyush
03897c42e1 ui_init: Fix flashing of 'try zulip' modal.
On visiting 'https://chat.zulip.org/?show_try_zulip_modal',
a 'try zulip' modal is displayed to spectators.

Previously, the modal flashed briefly and disappeared.

Reason:
Earlier, in 'ui_init.js' we called 'show_try_zulip_modal'
followed by a network call - which on success called
'initialize_everything'.

'hashchange.initialize' (in 'initialize_everything') closes
any active modal.

So, the race between 'show_try_zulip_modal' & 'hashchange.initialize'
was resulting in this flash.

Fix:
We call 'show_try_zulip_modal' only after 'initialize_everything'
completes - there's no point to try to display modal when the
loading screen is still visible to users.
2025-09-23 11:20:22 -07:00
Aman Agrawal
7f81665b58 views_util: Fix hotkeys not working when views filter is in focus.
When focus for recent view / inbox is in focus, hotkeys were
not working since #36035 didn't account for inputs inside the
view.

Fixed by removing recent view and inbox filter elements from
`.input-element` selector.

Tested that hotkeys now work for recent view, inbox and
channels topics list as expected.
2025-09-23 07:28:28 -07:00
Kislay Verma
1b0ec6e923 stream_list_sort: Add tests for channel folders.
This commit re-enables one of the tests disabled in #35075 and
adds new test cases.

Fixes part of #35494.
2025-09-22 09:38:36 -07:00
Aman Agrawal
e36147a94e realm_creation: Disable import from input.
We are not processing this input at the POST endpoint, this
commit just disables the selection from changing.

It is not easy to process changing "import from" at this stage,
but we can possible allow that in a future refactor.
2025-09-22 09:37:34 -07:00
Aman Agrawal
f45552fadd slack_import: Disable submit button if file is invalid. 2025-09-22 09:37:34 -07:00
Aman Agrawal
04fa43e1df slack_import: Don't use a tag for form submission.
This can mislead user into thinking this is a link they can
open in a new tab, which we don't want to allow.
2025-09-22 09:37:34 -07:00
Sahil Batra
203e8be1df groups-ui: Fix check and plus icon in group row.
This change was missed in 310a2323b6.
2025-09-19 09:20:58 -07:00
Prakhar Pratyush
d78f338916 event_queue: Add compatibility code for push_device_registered_user_ids.
In #35965 we added `push_device_registered_user_ids` to message &
update_message event.

Zulip servers with such events in their event queues when upgraded
to the new version set push_device_registered_user_ids to empty list,
which is incorrect - it leads to no push notification sent.

This commit adds compatibility code to handle such events. The newly
introduced `push_device_registered` check is used only for events
with `push_device_registered_user_id` present in them.
2025-09-19 09:19:36 -07:00
Alex Vandiver
3c2ed0e202 docs: Cross-link to the reverse proxy pages. 2025-09-18 17:56:39 -07:00
Nikita Tarasov
c75535a154 puppet: Use memory limits from cgroup, if set.
This fixes behaviour where a Docker image with a memory limit would
immediately OOM, as it would not detect the container's memory limit,
only the host's.

Fixes: #29794
2025-09-18 16:38:37 -04:00
Alex Vandiver
3064939ff7 email_mirror_server: chown the logfile before dropping privileges.
This prevents the logger from failing due to an old, root-owned,
logfile already existing.
2025-09-18 09:04:08 -07:00
Alya Abbott
58e0d6fc12 docs: Remove stray paren. 2025-09-17 15:30:05 -07:00
Lauryn Menard
69f5aa787d docs: Update writing documentation for starlight help center.
The help center documentation now uses astro/starlight, so the
contributor documentation is updated here for the general changes
to that documentation, such as where to find files, and features
and components used in that documentation.

Moves features that are still used for integrations and API docs,
to those guides, e.g., tabbed sections and our macros system, so
that we still have documentation for those systems/features.

Co-authored-by: Shubham Padia <shubham@zulip.com>
2025-09-17 14:20:10 -07:00
Shubham Padia
310a2323b6 subscriptions: Move raw svg for plus and check icons to zulip-icon.
Fixes #35899.

We don't make any visual changes to how the svgs/icons look, we just
move them to use the zulip-icon system.

We also replace use of the raw images of each in the help center and add
appropriate color for both in the help center.
2025-09-17 14:15:05 -07:00
Tim Abbott
c0f89d261f docs: Improve directory structure article introduction.
Fixes #25348.
2025-09-17 13:57:42 -07:00
Tim Abbott
6a5d214be6 help: Fix linter errors in last merged PR. 2025-09-17 13:53:02 -07:00
Alya Abbott
d3ca0fc7ae docs: Revamp production doc on security.
- Remove duplicative content.
- Move content to topic-focused pages.
2025-09-17 13:28:02 -07:00
Alya Abbott
be0fc99b58 help: Organize details on bots overview page.
Also document can_forge_sender permission.
2025-09-17 13:27:16 -07:00
Alya Abbott
9e3fea7ed3 help: Add a note about DMs privacy model. 2025-09-17 13:27:16 -07:00
Alya Abbott
10ce39a82c help: Add links to releated articles. 2025-09-17 13:27:16 -07:00
Alya Abbott
9b1c7f761a help: Document logging out by resetting API key and password. 2025-09-17 13:27:16 -07:00
Alya Abbott
f1f9769a08 help: Add a page on protecting your account. 2025-09-17 13:27:16 -07:00
Alya Abbott
0edacce98e help: Update password reset instructions for new UI. 2025-09-17 13:27:16 -07:00
Tim Abbott
0c04f5f101 postprocess_content: Simplify and clarify video logic. 2025-09-17 13:25:50 -07:00
Karl Stolley
d8e58f31b9 tooltips: Rename media tooltip partial. 2025-09-17 13:25:50 -07:00
Karl Stolley
bdf7bdba39 compose_paste: Handle new and legacy media classes. 2025-09-17 13:25:50 -07:00
Karl Stolley
a64276c58f media: Replace legacy .message_inline_image class.
This introduces two new replacement classes, depending on
whether the inner content is an image or a video.
2025-09-17 13:25:50 -07:00