Previously, if we had syntax in a URL slug that looked like a channel
ID, but we couldn't find the channel (say, beacuse it's a link to a
channel we're not subscribed to), parse_narrow would fail to parse it,
resulting in incorrect error handling.
This could break rendering of topic links that we want to process via
rendered_markdown.ts. I've confirmed that the web app's logic for
processing message_view.show does not require its caller to check the
channel ID is accessible.
The updated logic matches what we do in the mobile apps.
A regression was introduced in #33075 where user groups are only
rendered on the user profile modal once per page load since
user_groups_list_widget was not getting cleaned upon closing the modal.
Separates tests for Zoom and Big Blue Button video call
intgrations into separate sublcasses, ZoomVideoCallTest
and BigBlueButtonVideoCallTest respectively.
Refactors Realm.VIDEO_CHAT_PROIVDERS to have all the possible options
for video chat integrations, and use get_enabled_video_chat_providers
to compute the enabled options for the realm.
Prep for adding Zoom server to server video chat integration.
Earlier, in recent conversation, only streams had unread @-mention
indicators and DMs in recent conversation lacked them.
This commit introduces unread @-mention indicators for DM rows in recent
conversations using `unread_mention_dms` which stores `user_ids_string`
mapped to `message_id`s having mention.
Fixes: zulip#28849.
Earlier, in left sidebar, only streams had unread @-mention indicators
in individual streams and topics. DMs lacked unread @-mention
indicators.
This commit introduces unread @-mention indicators for DM rows in left
sidebar using `unread_mention_dms` which stores `user_ids_string` mapped
to `message_id`s having mention.
Fixes part of zulip#28849.
Earlier, only unread @-mentions in streams were shown in inbox view
while DMs lacked this indicators.
This commit introduces unread @-mention indicators for DM rows in inbox
view using `unread_mention_dms` which stores `user_ids_string` mapped to
`message_id`s having mention.
Fixes part of zulip#28849.
Earlier, unread mentions in messages were handled to ignore if the
message was from a dm instead of stream.
This commit changes the behaviour by tracking the unread mentions
in all private messages and storing them to be easily retrieved.
Fixes part of zulip#28849.
Earlier, if pm_list or stream_list was zoomed in and hitting `q`
hotkey would seemingly do nothing but in the background would add
highlighted class to `stream_row` and toggle stream-list-filter.
This commit fixes this behaviour by bringing focus to currently
visible input filter field.
`zulip_update_announcements_stream` should be set to None when its
channel is deactivated. This commit adds a safeguard to explicitly
raise an error if it is found in a deactivated state, indicating a
potential bug that needs investigation.
Without this commit, we won't face any runtime error but the error
raised would be at a much later stage i.e. while sending message,
with a generic error message i.e. "Not authorized to send to channel "
which would require further investigation to determine the root cause.
This commit helps with an early return and better error message
to debug.
This commit adds test to verify that we skip the update messages
and directly update the `zulip_update_announcements_level` to the
latest level when the configured `zulip_update_announcements_stream`
is deactivated.
When a stream configured for any of these settings is deactivated,
the corresponding realm settings should be set to NULL:
* new_stream_announcements_stream
* signup_announcements_stream
* zulip_update_announcements_stream
* moderation_request_channel
Earlier, we were not updating those realm settings to NULL.
We had helper functions like 'get_new_stream_announcements_stream'
to return None if the configured stream was deactivated.
But it makes more sense to just set them to NULL in DB.
This commit also includes a migration to clear those fields
if the configured channels are deactivated.
This commit updates the docs to specify that when topics are
required in an organization, the `topic` parameter in
`POST /messages` and `PATCH /messages/{message_id}` cannot be
* "(no topic)"
* an empty string
* `realm_empty_topic_display_name`.
We likely added this logic to allow links to be opened in new tab
on ctrl + click and not trigger text selection.
We retain this behaviour but allow selection of empty view text.
This commit updates the wording related to topic-permalink in
`/api/message-formatting` to clarify that the condition applies
when a topic has no messages, not when the topic name is empty.
Also, it reorders examples so that similar input formats are
grouped together, improving readability.
This commit adds support to display `Message.EMPTY_TOPIC_FALLBACK_NAME`
value (translated) in the push notifications for topics having the
actual value of empty string.
Fixes part of #32996.
This commit refactors the code so that we can correctly update the
permissions panel when a group gains permission. The changes done are-
- Extracted templates for subsection for stream and group settings
because we might need to add complete subsection to DOM if group has
no existing permission for a particular stream or group.
- Also, updated get_group_assigned_realm_permissions to return all
subsection objects even when group has no assigned permission for
a subsection because we now have headers for all the subsection
in DOM but just hide them so that order can be maintained when
a setting of a subsection is added during live update.
check_group_permission_settings_data now uses set for the
list of settings defined in data structures in settings_config
which makes the code little efficient when checking if the
data structure contains all the setting names or not.
The 'user-select: none' property was originally added to
prevent users from highlighting images and menu option text
in popovers. However, applying it to the entire
'.popover-menu' unintentionally blocks text selection in
cases where it's useful, such as usernames in user cards.
This commit refines the approach by restricting by adding
'text-select' class to the username in user cards without
affecting the other elements of the popovers.
This commit fixes the bug when clicking on "?" icon in group
setting label by making sure that click handler returns early.
Also, updated the handler to use e.currentTarget instead of
e.target when opening the typeahead and focusing the input
as that is more correct and prevents future unexpected bugs.
This commit fixes a bug introduced in commit `37f2c5bc788`,
where a message in DM is not updated to "(deleted)" when
left empty after editing.
Fixes: #33305
Previously, channel archival event messages were unread in
archived channels, which makes the archived channel accessible
from the inbox view.
This commit fixes this issue by auto-marking the channel archival
event message as read.
Fixes: zulip#33258.
This commit splits the existing deactivation test into two separate
tests — one for realm administrators and one for user group-based
permissions to improve clarity.