The removed lines appear to be fully contrived, as there is no
apparent case where the server would deliver a block of HTML
with `.message_inline_image` without also delivering an inner
<img> or <video> element.
It appears the original outer block was introduced as part of
3df0cacd9e for ensuring coverage
of the post-processing of the `title` attribute to `aria-label`,
which change has since become covered by numerous other
non-contrived examples.
The replaced (and contrived) `<a role="button">` part introduced
by 911b3b5365 is meant to test the
absence of an `href` attribute, which is the minimal new line
introduced here to maintain test coverage while also testing
a genuinely possible pattern a user could send, namely
`[missing href]()`.
See https://chat.zulip.org/#narrow/channel/43-automated-testing/topic/unusual.20.60.2Emessage_inline_image.60.20HTML/with/2261114 for further discussion.
Previously, we enqueued events to "missedmessage_mobile_notifications"
even for users who had no registered push devices.
'handle_push_notification' later used to perform the check & skip
if there were no registered devices.
This commit avoids putting such events into the
"missedmessage_mobile_notifications" queue at all. By doing so,
we reduce unnecessary churn.
We removed this specific feature a few years ago. While the general
docs there are stale in other ways, we can at least remove this
confusing documentation.
Fixes#18326.
GitLab has both integrations and webhooks, and our documentation
should direct users to the webhooks set up for integrating with
Zulip.
Adds a link to GitLab's create a webhook documentation as well.
Previously, clicking the logo always triggered a full page reload,
even if the user was already on the home page. This commit adds logic
to intercept the click and smoothly scroll to the top instead,
avoiding an unnecessary reload.
Fixes#35422.
Co-authored-by: Rakshit Chauhan <rxkshit04@users.noreply.github.com>
This helps to prevent an edge case where clicking the
new-topic button, `[+]`, in the left sidebar when the
topic box was already empty caused an unexpected flash
of the *general chat* topic.
The transitions here do not work correctly across all
states, and directly interfere or look goofy with the
transitions in the recipient-row area.
Particularly with the removal from #message-content-container,
that had the annoying effect of just delaying the
appearance of the focus border, regardless of whether
focus was established via keyboard or mouse.
Previously, if the mouse cursor were in the vicinity of
the compose box, we'd see transitions even on keyboard
interactions, which should not have been happening.
This also allows instantaneous highlighting for keyboard
users, as well as avoiding any transitions when a
mouse user clicks into a recipient-row element (at
which point the hover transitions will have already
run).
It's not good form to register an event handler on a
function that runs fairly frequently--especially one
that stands to override another listener's handler.
Previously, private stream row was removed from the relevant
tab view in left panel in stream settings UI when a user was
subscribed or unsubscribed. Now we only remove the row if the
user does not permission to toggle the subscription state just
like we do for public streams where we keep the row as user
can toggle the subscription state again.
Also updated the comment in update_stream_row_in_settings_tab
to be more clear about the behavior.
This commit replaces "Not subscribed" tab in stream settings
with "Available" tab where only streams which the user can
subscribe to are shown.
Fixes#35919.
If one of the filters is focused or if we cannot determine the
current focus location, any rerender call will scroll user to
top.
Fixed by only scrolling to top when navigating from other views
and when we don't have a cached scroll position.
Tested by calling `complete_rerender` at 1s intervals.
The "light-border" theme was set as the default theme for all the
popovers, but was no longer in use, since all of our current popovers
either use the "popover-menu" theme or the "dropdown-widget" theme.
In response to the above reasoning, this commit removes the redundant
"light-border" Tippyjs theme usage from the codebase.
In the light theme, the user profile modal tables were using two
different border colors, both very similar to one another. This commit
consolidates them into a single border color for consistency.
Fixes#21544.
The network prefix (e.g. 64) identifies the network portion
which determines which bucket should that IPv6 belong to.
Implemented as a generic approach, so we have the option
to use different prefix sizes (leading to different buckets)
in the future.
Add comprehensive assertions for which IPv6s
are expected to belong to the same bucket and which are not.
Previously, we were using the ".home-page-input" selector to check for
any focused input elements in the home page view of the Zulip Web UI.
Since all of these inputs, other than the navbar search input have now
been converted to filter inputs, we can simplify the logic to check for
any focused input elements with the ".input-element" selector.
The navbar search input has a different selector, "#search_query",
which is already accounted for in the views_util.is_in_focus() method.
Now, ".input-element" class will potentially be used for several other
inputs in the UI other than the home page view, but the is_in_focus()
method already accounts for other focused elements like compose,
overlays, popovers, etc, and thus the logic remains unaffected.
Fixes part of #35135.
Sidebar links were adding a trailing slash to each of the pages. Our
canonical URLs don't have a trailing slash. This will probably also stop
starlight from adding trailing slash at other unexpected places.
When running the astro dev server, if a page has a trailing slash, we
will get a page from astro asking to remove that slash. That will not
happen in static build mode or production since we don't use astro's
serving mechanisms there.