Commit Graph

66971 Commits

Author SHA1 Message Date
Lauryn Menard
e4b425c083 docs: Update links for renamed securing-your-zulip-server doc. 2025-10-13 10:06:31 -07:00
Anders Kaseorg
4192d46a0e upgrade-zulip-from-git: Fix fully broken refname parsing.
Commit c903128eb7 (#36214) was evidently
never tested.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-12 16:47:53 -07:00
Aman Agrawal
83719cd5be inbox_ui: Allow muting topics without using message object.
Since muting topics doesn't require a complete message, we can
mute topics with the information we have.
2025-10-10 09:57:23 -07:00
Aman Agrawal
97452ea4f8 hotkey: Fix wrong assumption of message_lists.current is defined.
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.
2025-10-10 09:57:23 -07:00
PieterCK
c54dee9fab slack_integration: Audit the Slack bot token scope requirements.
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.
2025-10-10 09:55:38 -07:00
Mateusz Mandera
e65fb2d051 slack: Requote image_url in render_attachment.
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.
2025-10-10 09:52:50 -07:00
Mateusz Mandera
d484fd95d8 slack: Add missing block types.
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.
2025-10-10 09:52:44 -07:00
Mateusz Mandera
a473d05840 slack: Fix formation of bot email addresses with non-ascii chars. 2025-10-10 09:49:35 -07:00
Tom Hubrecht
5ed5fa3315 webhooks_gitea: Use the correct actor for pull_request actions
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.
2025-10-10 09:47:45 -07:00
Evy Kassirer
ab8f6891d6 popovers: Fix name for sidebar channel folders popover. 2025-10-10 09:46:44 -07:00
Niloth P
36b3d24ee6 integration-docs: Add the install-requirements.md macro.
The macro will be used by some script integrations in python-zulip-api.
2025-10-10 09:45:45 -07:00
Evy Kassirer
38e7f11259 hotkey: Specify reactions toggle to message controls.
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.
2025-10-10 09:45:06 -07:00
Anders Kaseorg
898b544ba4 message_store: Update ProcessedMessage type in reify_message_id.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-10 09:42:07 -07:00
Anders Kaseorg
f04f3bcbfc stripe: Order downgrade_small_realms_behind_on_payments_as_needed query.
Fixes nondeterminism that broke
test_downgrade_small_realms_behind_on_payments_as_needed.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-10 09:41:45 -07:00
Shubham Padia
9bb082a315 docs: Add tests for adding canonical URL to relevant doc pages.
Add these tests for /policies, /api and /integrations.
2025-10-10 09:18:13 -07:00
Alya Abbott
14902688d2 docs and portico: Update documentation word counts. 2025-10-09 15:11:42 -07:00
Lauryn Menard
b42d3e77e7 forms: Set EmailField max_length to match Django Model.EmailField.
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.
2025-10-09 15:47:04 -04:00
Alex Vandiver
fdcfafd13d send_custom_email: Add a flag for sending release announcements. 2025-10-09 12:10:15 -07:00
Alex Vandiver
79e718ed3a send_email: Move break into custom_email_sender. 2025-10-09 12:10:15 -07:00
Vector73
a5d25826bd github_action: Mention PR where the endpoints were added.
Updates "API Documentation Update Check" tool to  add PR
information in the message to chat.zulip.org when the
new endpoints are added.
2025-10-09 11:39:54 -07:00
Anders Kaseorg
b8f8056f56 markdown: Use re-exported guess_type to ensure adding EXTRA_MIME_TYPES.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-08 23:36:15 -07:00
Shubham Padia
66466760a0 css: Move out --box-shadow-overlay out of dark_theme.css.
Fixes #35881.
2025-10-08 23:35:46 -07:00
Shubham Padia
d9b7d8d2a6 overlay: Make sure all overlays have the same box shadow in dark mode.
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.
2025-10-08 23:35:46 -07:00
Anders Kaseorg
b05b5e72f5 test_helpers: Use care in load_subdomain_token URL parsing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-08 23:33:47 -07:00
Evy Kassirer
b7cf928615 scheduled_messages: Force save drafts of any length when scheduling.
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.
2025-10-08 17:06:12 -07:00
Evy Kassirer
796c0387a3 check_schemas: Update event.cjs file name. 2025-10-08 17:05:51 -07:00
Lauryn Menard
5b5292d138 templates: Remove unnecessary "margin" class from register template.
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.
2025-10-08 17:05:28 -07:00
Shubham Padia
7bce6361b3 css: Do not use non-color values inside light-dark().
Non-color values are not permitted inside light-dark(). This commit
fixes that for --color-invalid-input-box-shadow.
2025-10-08 15:04:41 -07:00
Alex Vandiver
c903128eb7 upgrade-zulip-from-git: Provide better error message on a bad refname. 2025-10-07 22:44:53 -07:00
Anders Kaseorg
800cfc4421 emoji_names: Rebuild with emoji-datasource 16.0.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
9ac9dbdc1c dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
9372b47d04 eslint: Fix unicorn/prefer-dom-node-dataset.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
910718ccd3 eslint: Fix unicorn/no-array-sort.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
88a7fde8bd install-node: Upgrade Node.js from 22.19.0 to 22.20.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Alex Vandiver
01664a1a10 sharding: Swap new config into place during restart-server.
This allows restart-server, before moving the new config into place,
to perform a diff and only restart the affected Tornado ports.
2025-10-07 13:19:05 -07:00
Alex Vandiver
e18b0fcd16 sharding: Use restart-server after setting up new sharding config.
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.
2025-10-07 13:19:05 -07:00
Alex Vandiver
2bd4c07fdb sharding: Move chown/chmod into where the files are written. 2025-10-07 13:19:05 -07:00
Alex Vandiver
6249c2f970 sharding: Make nginx shard map owned by zulip:zulip.
This will make it easier to manipulate in restart-server.
2025-10-07 13:19:05 -07:00
Alex Vandiver
970ff73c5f restart-server: Fix comment to be sensical. 2025-10-07 09:40:53 -07:00
Shubham Padia
9b1b52ec8a settings: Rename grey-box to settings-highlight-box.
Having the class named after a color limited to things we can do with
the class + does not signify what the class is for in terms of it's use.

Name decided at
https://chat.zulip.org/#narrow/channel/101-design/topic/grey-box.20dark.20theme.20color.2E/near/2272404
2025-10-07 09:26:51 -07:00
Shubham Padia
da0fa1349c css: Use --color-background-modal-bar for .grey-box.
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.
2025-10-07 09:26:51 -07:00
Shubham Padia
c3fdee6ed0 help: Add canonical URL pointing to zulip.com.
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.
2025-10-06 22:22:34 -07:00
Shubham Padia
94f8198072 help: Redirect web app URLs to web app proxy port.
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.
2025-10-06 22:21:39 -07:00
Shubham Padia
9fa09f8f87 help: Make canonical URL for the root to be /help/.
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.
2025-10-06 22:21:39 -07:00
Alex Vandiver
72e3b94855 docs: Document how push notifications require a real email address. 2025-10-06 22:20:02 -07:00
Alex Vandiver
afd7c4b1d1 register_remote_server: Check for NS records, now just A/AAAA.
We shouldn't declare that the domain doesn't exist, if it has a valid
NS record but no A/AAAA.
2025-10-06 22:20:02 -07:00
Alex Vandiver
a0e5be7f2e register_remote_server: Be more explicit about example.com emails. 2025-10-06 22:20:01 -07:00
Alex Vandiver
fc42c70346 register_remote_server: Explain why we're validating the domain. 2025-10-06 22:20:01 -07:00
Shubham Padia
44d1343158 css: Remove redundant border-color for message rows.
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.
2025-10-06 17:44:11 -07:00
Shubham Padia
f6d972048b css: Remove redundant border related css for .preview_message_area.
We removed the border declaration in #29953. We do not need the
border-radius anymore, nor the border-color declaration in
dark_theme.css.
2025-10-06 17:44:11 -07:00