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.
Pagefind files with the extensions `pf_fragment`, `pf_mindex` and
`pf_meta` are hashed in pagefind and thus we can cache it agressively.
Other files in pagefind are not hashed, although they only change
between different versions, we can think about a caching strategy for it
later.
Having a separate block was redundant since moving /help/_astro/ inside
location /help means that it can inherit its alias and we don't have to
re-declare it.
Default installs will re-examine every stream, since the process is
relatively fast. Large installs have the option to only examine
streams which have the potential to have changed subscriber counts.
The DjangoIntegration is explicitly disabled, because it attempts to
hook into the request handling in a way which is not compatible with
Tornado, and leaks event handlers.
It was being automatically forced off by dint of being run with a TTY
still attached to STDIN. `./manage.py rundjangoserver` was
unaffected, as it does not descend from ZulipBaseCommand.