Updates templates/zerver/meta_tags.html to add a rel-canonical
link if REL_CANONICAL_LINK is in the template context dict.
We add REL_CANONICAL_LINK to the documentation context for the
help center, API and integrations documentation pages in all
cases.
For policies documentation pages, we add REL_CANONICAL_LINK to
the context only when settings.CORPORATE_ENABLED is true, so
that self-hosted servers' policies documentation do not have a
rel-canonical link set.
This commit updates the label for can_set_topics_policy_group
to specify that the user must be a channel administrator in
order to change the topics policy for a channel.
We did that before but it was removed in d8261d4b96.
(cherry picked from commit 31f8dcba6c)
This commit updates the label for can_set_topics_policy_group
setting to be more clear by mentioning that it is used to
configure who can set the per-channel "general chat" configuration.
We also add a link to "/help/require-topics" with the label.
(cherry picked from commit d8261d4b96)
If all channels in a folder are muted, then this margin is present
in "Standard view", without there being any folder present.
Fixed by only applying margin if the folder has any header or rows
that are not hidden by filters.
This is an alternative fix to #35962 which was reverted in #36123.
(cherry picked from commit f2a11c5858)
On visiting 'https://chat.zulip.org/?show_try_zulip_modal',
a 'try zulip' modal is displayed to spectators.
Previously, the modal flashed briefly and disappeared.
Reason:
Earlier, in 'ui_init.js' we called 'show_try_zulip_modal'
followed by a network call - which on success called
'initialize_everything'.
'hashchange.initialize' (in 'initialize_everything') closes
any active modal.
So, the race between 'show_try_zulip_modal' & 'hashchange.initialize'
was resulting in this flash.
Fix:
We call 'show_try_zulip_modal' only after 'initialize_everything'
completes - there's no point to try to display modal when the
loading screen is still visible to users.
(cherry picked from commit 03897c42e1)
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.
(cherry picked from commit e3371cfb72)
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.
(cherry picked from commit 0af56bb80b)
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.
(cherry picked from commit 14c51bd0ec)
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.
(cherry picked from commit 75714bb44f)
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).
(cherry picked from commit de7419a528)
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.
(cherry picked from commit 415f7610c9)
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.
(cherry picked from commit 94a0f02acc)
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.
(cherry picked from commit 70b709494c)
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.
(cherry picked from commit 8bb0768c4b)
Updates final check in test_notification_bot_dm_on_subscription to
use the same pattern for the new channel name, and adds a comment
to clarify what that final check is for since it doesn't look at
the Notification Bot DM or channel messages for that case.
(cherry picked from commit 1030f41884)
Hidden folders occupied space due to bottom margin.
Fixed by moving the margin to elements which have `display: none`
property so that margin is removed.
(cherry picked from commit 39b560e611)
`settings.ZULIP_SERVICES_URL` is used to construct curl
example for `/api/register-remote-push-device`.
On zulip cloud `settings.ZULIP_SERVICES_URL=None`, it resulted
in 500 error on visiting that page.
This commit fixes the bug by using "https://push.zulipchat.com"
as the default value if `settings.ZULIP_SERVICES_URL=None`.
The doc already mentions that the endpoint is meant to be used
by self-hosted servers, so the default value makes sense if
ZULIP_SERVICES_URL=None.
(cherry picked from commit 271aba001c)