When rendering message list directly from cached data, we sometimes
ask server to verify the current data.
If the data doesn't match, we include events at the time cached
data was restored to help with debugging or to determine if there
was race in updating the data.
Dropdown widget in compose box and in message move modal should
not show archived streams in dropdown as we do not allow sending
messages or moving messages to archived streams.
We need a more focused audit of code for fixing other things
where archived streams are shown.
Previously, the Notification triggers table in Settings lacked a
direct link to documentation for 'Followed topics'.
This commit updates the AllNotifications type to include an optional
'help_link' field and adds conditional rendering in the template to
show the help icon only if 'help_link' is present.The corresponding
test has been updated to verify the presence of the help link.
This enables direct links to relevant docs, improving usability.
Fixes: #32033.
Previously, the number of subscribers was displayed on channel pills.
This commit removes the subscriber count from the channel pills and
adds it to the channel cards. The count is styled similarly to the
number of group members in group cards, with the text 'N subscribers'
(or '1 subscriber' for single subscribers).
Fixes: #32235.
To replace the previous subscribe/subscribe buttons, we add a button
to visit channel settings (if not subscribed) or manage channel
settings (if subscribed) to trailing bookends.
Fixes#32125.
This commit is a part of the efforts to rename btn-related classes
and variables to align with Zulip's no-abbreviations policy and
streamline the search results.
This commit is a part of the efforts to rename btn-related classes
and variables to align with Zulip's no-abbreviations policy and
streamline the search results.
Removes "last active" time from deactivated user tooltip and instead adds
"This user has been deactivated." Also, in the deactivated bot tooltip,
"This bot has been deactivated." has been added.
Fixes#32136.
These tests have been broken since long ago, we don't see any
errors since they are wrapped in `Sentry`. Also, We have a great
puppeteer test suite for the verification of loading current narrow.
Since we cannot cheaply live update `is-followed` narrow, we
discard any message list or data with that narrow if we
received a message event that changes topic visibility
from or to `FOLLOWED`.
Similar to #29302, we transform zulip message links to
a pretty syntax and in case there are some problematic
characters (#30071), we generate a fallback markdown link.
Fixes#31920
Previously we disabled time limit settings for moving
messages when non-admin and non-moderators users were
not allowed move messages as the time limit does not
apply to admins and moderators. And the time limit
setting to delete messages was disabled when all the
users who were allowed to delete their own message also
had permission to delete any message since time limit
does not apply to users who were allowed to delete any
message.
Now, as we use the new UI and allow the permission
settings to be set to anonymous groups, we just do
not disable the time limit setting to avoid complexity
and we anyways mention about cases when time limit is
not applicable.
Because we regularly change what we want the placeholder
text to be, as the user enters and exits search, it's simpler
to just not use `data-search-results-empty` and set up the
placeholder from the buddy list code directly. Previously we
were trying to sometimes use `data-search-results-empty` and
sometimes set it directly, which is more confusing and complex.
Sometimes we might want to re-fill the screen after collapsing
or uncollapsing a section, so it's better to fill the screen
just once after determining if we should collapse the "other
users" section. Also, this commit removes a call to
`render_section_headers()` because that's always called at the
end of `fill_screen_with_content()`.
Mark as unread from here was not working in a channel feed when
we don't have all the messages fetched locally since the
channel ID was incorrectly passed as a string.
Copied the correction code from bulk_update_read_flags_for_narrow.