Commit Graph

66708 Commits

Author SHA1 Message Date
Aadya
9bc19fb7d5 docs: Fix wording in "Moderating the Zulip community".
Replaced "Here are some guidelines for you how can help:" with 
"Here are some guidelines for how you can help:" for clarity.
2025-09-12 13:07:59 -07:00
bedo
72d1fa7661 default_settings: Add explanatory comment to "sends_email_by_ip".
Add "5 emails per day" comment
to indicate what (86400, 5) inside "sends_email_by_ip" means.
2025-09-12 13:06:29 -07:00
bedo
bc1ed82620 rate_limiter: Block IPv6 by /64 instead of per-single-IP.
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.
2025-09-12 13:06:29 -07:00
Sayam Samal
5fa027a577 views_util: Use ".input-element" selector to check for focused inputs.
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.
2025-09-12 13:00:30 -07:00
Alex Vandiver
8c37e9c7a6 update_subscriber_counts: Fix calling without any flags. 2025-09-12 12:59:46 -07:00
Alex Vandiver
c7810afb33 version: Update version for Zulip Server 11.1 release. 2025-09-11 18:43:09 +00:00
Shubham Padia
35c6dec2b9 help: Ensure trailingSlash is set to never.
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.
2025-09-11 13:46:58 -04:00
Shubham Padia
57b7ada2e4 help: Pre compress astro build files before serving.
This way nginx doesn't have to compress it every time.
2025-09-11 10:50:10 -04:00
Shubham Padia
1a34016e4a help: Cache pagefind hashed files aggressively.
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.
2025-09-11 10:50:10 -04:00
Shubham Padia
e0811dc2a4 help: No URL should have a trailing slash.
Pages with trailing slash will be redirected to ones without a trailing
slash.
2025-09-11 10:50:10 -04:00
Shubham Padia
55b19b6383 help: Move /help/_astro/ cache headers config inside /help block.
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.
2025-09-11 10:50:10 -04:00
Alex Vandiver
4739c4b057 puppet: Add options for allow/deny rules in Smokescreen.
Fixes: #20490
2025-09-10 17:37:49 -07:00
Anders Kaseorg
473c8fa81a starlight_help: Downgrade sharp to the version Astro expects.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 16:33:41 -07:00
Anders Kaseorg
3f514a4e00 tools: Convert message-screenshot, thread-screenshot to TypeScript.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 15:54:28 -07:00
Alex Vandiver
94a0f02acc puppet: Add a daily cron job to re-sync subscriber counts.
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.
2025-09-10 12:07:42 -07:00
Alex Vandiver
f915498e48 update_subscriber_counts: Add tool to re-sync subscriber counts. 2025-09-10 12:07:42 -07:00
Sayam Samal
c1e65280aa dark_theme: Cleanup todo widget colors.
Fixes part of #35880.
2025-09-10 12:28:40 -05:00
Sayam Samal
732cdaa800 dark_theme: Cleanup poll widget colors.
Fixes part of #35880.
2025-09-10 12:28:40 -05:00
Alex Vandiver
b8b9444023 sync-translations: Provide more framework to updating to/from Weblate. 2025-09-10 10:23:13 -07:00
Alex Vandiver
70b709494c sentry: Use TornadoIntegration when running under Tornado.
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.
2025-09-10 10:21:16 -07:00
Alex Vandiver
169daa31a0 settings: Derive RUNNING_INSIDE_TORNADO based on sys.argv.
This allows it to be used at application startup time.
2025-09-10 10:21:16 -07:00
Alex Vandiver
8bb0768c4b run-dev: Let Sentry be enabled, if configured.
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.
2025-09-10 10:21:16 -07:00
Anders Kaseorg
8691c11933 template_parser: Check for invalid combinations of HTML elements.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
9452e2cbb2 remote_billing_finalize_login_confirmation: Fix invalid <div> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
8ebb8ba4b0 landing_nav: Fix invalid <div> inside <ul>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
cfc802ea2a register: Fix invalid <div> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
17980c205e index: Fix invalid <div class="loading-indicator"> inside <button>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
2dc2255f26 todo_widget_tasks: Fix invalid <div> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
0dbe85fd34 user_profile_modal: Fix invalid <div> inside <h1>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
056dff4c51 preferences_information: Fix invalid <span> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
d476eb08b9 preferences_emoji: Fix invalid <div> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
3075d51a24 add_new_bot_form: Fix invalid <div> inside <p>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
287681d331 send_later_popover: Fix invalid <div> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
2d947073a1 templates: Fix invalid <div class="narrows_by_topic"> inside <span>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
9e8c9b68f6 templates: Fix invalid <div class="modal__spinner"> inside <button>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
99481eb47c templates: Fix invalid <h4> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
c3b55702db email_base_messages: Add missing <body>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
9ec4f726ac digest_base: Remove stray <body> tag.
We’re already inside the <body> provided by base.html.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
c23cd837a0 todo_widget: Replace obsolete <strike> element.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
ce43111b03 templates: Fix invalid <td> inside <tfoot> (missing <tr>).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
460d63c4dc templates: Fix invalid <th> inside <thead> (missing <tr>).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
d3238e9a1b templates: Fix invalid lists inside <p>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Evy Kassirer
9a5c41cb9d compose: Remove Zephyr mirroring custom logic.
Followup to https://github.com/zulip/zulip/pull/35921#discussion_r2320358287
2025-09-10 09:47:05 -07:00
Anders Kaseorg
d8c0eb91c1 postcss: Type-check PostCSS configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
7157a424a8 babel: Type-check Babel configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
2975c1bc62 stylelint: Type-check Stylelint configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
58df0e519f prettier: Type-check Prettier configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
01c3f714c6 remark: Type-check Remark configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
3163805b92 astro: Type-check Astro configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00
Anders Kaseorg
56fc587dfd eslint: Type-check ESLint configuration.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:44:44 -07:00