Since we are checking `is_in_focus()` of recent and inbox view,
message_lists.current can be not defined here, also addition
a new view in Zulip will make this fail.
This clarifies which Slack bot token scopes the integration really uses.
Extraneous scopes are: `users:read.email`, `team:read`, and
`emoji:read`.
Fixes part of #30827.
Slack attachment urls with white spaces,
e.g. `https://example.com/some file.png`,
were rejected by `check_url`. We want to call `requote_url` to deal with
any url-quoting jankiness that may be present in the exported data.
1. `call` is a block type we've observed in the wild in a Slack export,
despite not being documented in
https://docs.slack.dev/reference/block-kit/blocks/
2. We already have the logic for converting `condition` block type below
in the function, but it was erroneously missing from the list of valid
types.
The user associated to a pull request is always its creator, however,
when closing a pull request, this can be the wrong actor. The paylod
contains the actor in the `sender` value, use this instead.
Sometimes this selector was catching a second
`emoji-message-control-button-container` from an emoji reaction,
which was only caught once we started using `util.the`. This
change avoids catching that irrelevant element.
Django's Model.EmailField's default max_length is 254 characters,
while the Form.EmailField's default max length is 320 characters.
The longer valid length for form email fields raises an error
when an email with over 254 characters is validated and the server
attempts to create a preregistration user or realm.
Sets the max length on current form EmailFields to match the max
length on corresponding email fields in the database.
For the form MultiEmailField used on the find account/team page,
we don't need to set the max length to 254, but we don't expect
any emails longer than that to match any existing user accounts.
Adds tests in `zerver/tests/test_signup.py` for form submissions
with long email addresses.
Drafts, scheduled messages and message edit history had different
box-shadow done in #25771. The main reason for the different color was
for these overlays with the new background colors to play nice with the
then message/sidebar sections using the old background colors. Since
there is no such difference anymore, we can have one box-shadow for all
overlays.
Previously, if you wrote a two character message and attempted to
schedule it, there would be an assertion error on the draft_id
because we don't allow saving drafts with messages less than two
characters without force_save=true.
Removes the instances of the "margin" class from register.html and
the portico CSS rule. Doing so does not result in any visible
changes in the only place it was being applied the terms of service
checkbox on the page.
restart-server has grown more complex since
efresh-sharding-and-restart was written -- use that complexity. For
instance, workers are stopped one-at-a-time, rather than requiring
that they all stop sequentially before being started again.
It also means that Django restarts will be rolling, which trades off
500s during login for realms which are moving, in exchange for leaving
other realms unaffected.
Before 567e8f369e, the background-color
for .grey-box was --color-background-modal-bar, but the dark part out of
the light-dark() for that color was being overriden by
hsl(0deg 0% 0% / 20%) in dark_theme.css. Since that was a refactor PR,
we added a new color called --color-background-grey-box to keep the
behaviour same as before.
But discussion in
https://chat.zulip.org/#narrow/channel/101-design/topic/grey-box.20dark.20theme.20color.2E
confirmed that we want to have `--color-background-modal-bar` as the
background color for that class.
Partially fixes#35110.
We ideally want this only for self hosted installations since we want to
point them to the right canonical URL. But we can have this for all
pages since for zulip.com, this will be a self referencing URL.
Help center dev server always runs on a port different than the web
app. We have relative URLs pointing to the web app in the help
center, but they are not on the port help center is running on. We
redirect instead to our web app proxy port.
We also make sure that /help/ is accessible when using the dev server.
We add vite as a dependency. v7 of vite is the latest version but using
that causes type problems for PluginOptions since astro uses vite v6.
Therefore we pin vite to v6 for now.
This commit also runs `pnpm dedupe` for `tinyglobby` pinning it to
0.2.15 instead of the previous 0.2.14 in the lockfile.
The dark component out of the light-dark() of
--color-message-list-border is hsl(0deg 0% 0% / 40%), which is the same
as the color we specify in dark_theme.css.
- .recipient_row already uses the above variable, so it's entry is not
needed in dark_theme.css
- .message_row uses the same variable as well.
- .overlay-message-row does not have a direct border. Although
.message_row nested inside it does. It already uses the above
variable, so we can remove this entry as well.