Reproducer:
Mark a message where current user is mention as unread and then
read the message before animation ends. This prevents the
`animationend` from being triggered.
Fixed by also listening for `animationcancel` which fixes the bug.
This happens since the don't exclude the row which toggles
muted / inactive channels from all_rows, while user is searching
and hence selections box ends up there while navigating to the
muted / inactive channel row.
Previously, the action buttons container was only hidden via
conditional rendering in the template. This commit adds a CSS-based
approach to also hide the container when it becomes empty, using the
:empty pseudo-class. This ensures correct behavior if we later have a
class of banners where the buttons area is dynamically updated, and
buttons are removed dynamically.
Now that the left-sidebar filter sits atop the area,
it's no longer necessary to set a z-index here.
This also fixes a bug where a hovered unread in the
collapsed views would be clipped by the filter box
above.
This commit adds an endpoint `/mobile_push/e2ee/test_notification`
to send an end-to-end encrypted test push notification to the user's
selected mobile device or all of their mobile devices.
We can determine whether the request is meant to revoke an already
sent push notification using the "type" field of the payload.
Passing `is_removal` parameter explicitly to `send_push_notifications`
is not required.
The zoomed in topic list search doesn't work if user searches
something and presses `enter` on `Show all topics` after
navigating via keyboard.
Fixed by not triggering `input` event on left sidebar search input
which seems to confuse the zoomed in topic search.
There isn't a way to check the complete name for long truncated channel
folders name in the left sidebar.
This commit adds a tooltip for channel folder only when the folder names
are truncated in the left sidebar.
Fixes: zulip#35582.
Prep commit to address #34977.
Links are blurred when one selects links in order to
focus the compose box, this commit prevents that from
happening which helps us avoid `e.stopPropogation()`
calls on individual handlers as the event bubbles up
to the main event handler.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
Having the textarea not be super small greatly reduces the temptation
to immediately resize it when working with it.
This helps reduce the impact of #35663.
Previously, closing the settings overlay without saving the
Welcome Bot custom message would discard the changes, causing
users to lose their work.
The unsaved message is now stored in a variable and restored
with the save/discard widget when the settings overlay is reopened.
Fixes#35664.
Removing the dependency on message_store fixes a race issue where the
new Message object might not have reached us at the time that this
handler was run, if the HTTP request to trigger the welcome bot
message wins the race with the events system.
Earlier, we would show operator suggestion even if it is incompatible
with current search terms. Selecting this wouldn't show further
suggestions for the operator since we don't allow narrow to incompatible
search terms.
This commit fixes this by hiding new suggestions if it is not
compatible with current search terms in the search box.
Earlier, each functions handling any suggestions would define their
own incompatible_patterns inside it to use for checking validity.
This commit refactors all incompatible_patterns to a global map
with operators or search_string as its key.
Earlier, operator autocomplete suggestion was showed at bottom after
operator with operand value suggestions.
This commit brings operator autocomplete suggestion to higher priority
in the suggestion list.
Earlier, public channels suggestion string was wrongly concatenated
in channels filter.
This commit fixes the description html for channels:public filter.
Earlier, validating messages on given narrow skipped for channels
operator.
This commit adds channels operator support for checking if message
corresponds to given search term.