Commit Graph

538 Commits

Author SHA1 Message Date
Anders Kaseorg
0409e4823f settings: Compute time zone UTC offsets on the client.
Commit b0844109ca “settings: Show UTC
offsets in timezone dropdown” (#33609) baked a fixed UTC offset for
each time zone into the generated timezones.json at installation time.
UTC offsets are not constants: they change with daylight saving
time (and tzdata updates), so the baked values were wrong for much of
the year.  The Python formatting was also incorrect for zones with
negative fractional-hour offsets (divmod rounds toward negative
infinity, so America/St_Johns at UTC-03:30 rendered as UTC-4:30).

Revert the generated file to a plain list of names, and compute each
offset in the web app when the picker is rendered, reusing the
UTC±HH:MM formatting that message timestamp tooltips use.  Computing
all 446 offsets takes ~50ms the first time and ~1ms once @date-fns/tz
has cached its formatters.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-07-05 11:24:32 -07:00
Alex Vandiver
06e6f28b79 bootstrap-aws-installer: Lock root password. 2026-05-06 19:37:13 +00:00
Sachin Kumar
2d44200fc7 provision: Add native support for GitHub Codespaces.
This automates backend provisioning, fixes RabbitMQ hostname resolution,
grants PostgreSQL passwordless sudo, and explicitly forwards only the
required web port (9991).
2026-04-26 22:28:01 -07:00
Anders Kaseorg
cf386e43a0 Vagrantfile: Share the checkout at the host’s path.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-04-23 09:18:20 -07:00
Anders Kaseorg
f58649b9bf install-shfmt: Upgrade shfmt from 3.13.0 to 3.13.1.
Some checks failed
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:trixie, false, false, Debian 13 (Python 3.13, backend), trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie, , Debian 13 production install, trixie) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:trixie-11.0, 11.0 Version Upgrade, trixie) (push) Has been cancelled
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-04-21 16:46:02 -07:00
Anders Kaseorg
a68a815414 install-shfmt: Upgrade shfmt from 3.12.0 to 3.13.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-03-25 04:06:09 -07:00
Anders Kaseorg
5b2164c031 dev-vagrant-docker: Update Vagrant public SSH key.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-03-25 04:05:35 -07:00
Anders Kaseorg
cf023e80e4 dev-vagrant-docker: Upgrade docker-systemctl-replacement from 1.5.9063 to 1.7.1097.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2026-03-25 04:05:35 -07:00
Alex Vandiver
f2a5dc949a puppet: Update dependencies. 2026-02-24 08:59:08 -08:00
Aarush Jain
c2f9337962 setup: Fix postgres-init-dev-db failure when OS user is 'zulip'.
Provisioning fails when the system username is 'zulip' because the
script attempts to run 'GRANT zulip TO "zulip"', which PostgreSQL
rejects as a circular dependency.

This change adds a conditional check to ensure the GRANT is only
attempted if the database username and system username differ.
2026-01-21 09:55:20 -08:00
Shubham Padia
b3acaf8075 ui_init: Show unsupported browser warning on load.
We are using browserslist-useragent-regexp to build a regex to compare
our user agents against. This regex is generated and stored in
web/generated and is generated on every provision. This will remain
mostly unchanged since .browserlistrc is not a frequently modified file.
Still, we run it on every provision since we don't have a good mechanism
to detect changes in that list. We can look into that in a followup PR.

In terms of chosing the library, the regexp library is the current
recommendation browserslist github. Another library called
browserslist-useragent exists but it is not actively being worked upon
and is slower as well:
https://gist.github.com/dangreen/55c41072d8891efd3a772a4739d6cd9d

In terms of which browsers to flag as unsupported, we don't flag any
browsers that are not part of >=0 % query of browserslist. If they are
part of >= 0 %, but not part of `baseline widely available with
downstream`, we flag the browser as unsupported.

We also allow higher versions while generating the regex, so if our
regex is outdated a little bit, users with newer browsers don't get the
unsupported browser warning.
2026-01-12 16:34:54 -08:00
Alex Vandiver
2a9b7f132b kandra: Create a tmp mountpoint for frontend hosts. 2026-01-07 11:13:12 -08:00
Niloth P
581f44b992 integrations: Convert is_enabled to is_enabled_in_catalog, wire it.
Apply the function in the tests and scripts.
2026-01-06 09:24:28 -08:00
Alex Vandiver
13243be3e8 migrations: Move schema creation and search_path into pre_migrate hook. 2025-12-16 13:03:27 -08:00
Niloth P
31a06f2ed0 integrations: Refactor get_logo_path to make logo_url non-optional.
- Make the previously optional `logo_url` a required field.
- Add a default logo for the EmbeddedBots, none of which have a logo, by
adding a `fallback_logo_path` field that is used only by the
BotIntegrations and EmbeddedBots.
- Add tests for `get_logo_path`.

Fixes #22582.
2025-12-05 10:40:04 -08:00
Alex Vandiver
ca01de84be emoji: Fix aliases for dotted_six_pointed_star.
CLDR 46 added this alias, which is not accurate; remove it.
2025-10-17 15:34:16 -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
80b9cffb3d build_emoji: Use clean emoji sheets without Apple fallback images.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-01 13:35:06 -07:00
Anders Kaseorg
85c94599c5 emoji: Remove deprecated Google blobs emoji set.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-01 13:35:06 -07:00
Anders Kaseorg
00ada0130f install-shellcheck: Upgrade ShellCheck from 0.10.0 to 0.11.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-08-04 13:23:33 -07:00
Anders Kaseorg
63f6a97f0c install-shfmt: Upgrade shfmt from 3.11.0 to 3.12.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-07-22 14:19:56 -07:00
Alex Vandiver
f22680da31 i18n: Update tooling from Transifex to Weblate. 2025-07-16 19:59:20 -07:00
Anders Kaseorg
e8fdae8f7b ruff: Fix PLR1733 Unnecessary lookup of dictionary value by key.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-25 11:49:02 -07:00
Alex Vandiver
41fbe0bb4f kandra: Install PostgreSQL 17 by default. 2025-05-14 09:16:46 -07:00
Harsh
cfdb80ed48 typeahead: Replace code block language hint text with more clear options
This commit
- Replace the blank option with an italicized option that's the current
   default language, if there is one selected with "default" label.
- Make the "text" option more informative by adding (no highlighting)
   to the label.
- Remove the hint for "text".
- Prioritize as left to right, before start typing:
   blank/default language, text, quote, spoiler, math, everything else...

fixes: #33682
2025-05-01 16:36:20 -07:00
Alex Vandiver
826c643401 tusd: Update development version.
This update was missed in 21eff33875.
2025-04-15 10:36:18 -07:00
Ritwik
9feba0f16f emoji: Remap ':smile' emoji and update the settings UI.
This commit remaps the ':smile' emoji to 😄 and
introduces ':slight_smile' which maps to `🙂`.

Fixes #32712
2025-04-07 17:34:52 -07:00
Anders Kaseorg
5d686f2562 dev-vagrant-docker: Upgrade docker-systemctl-replacement to 1.5.9063.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-30 14:11:39 -07:00
Amaan-pathan
b0844109ca settings: Show UTC offsets in timezone dropdown.
This improves usability by helping users quickly recognize timezones
with their offsets.

Fixes #20988.
2025-03-26 16:52:32 -07:00
Niloth P
b2910aa05c integration-docs: Migrate PythonAPIIntegration docs.
To zulip/python-zulip-api, to keep them closer to their source code.

- Renamed the generate_zulip_bots_static_files to
generate_bots_integrations_static_files to accomodate the new function.
- Added a new function to
tools/setup/generate_bots_integrations_static_files to copy the
integration docs into static/generated/integrations.
- Updated integrations.py and computed_settings.py to use the new doc
paths.
- Deleted the affected integration docs.
- Updated the dependency URL.
2025-03-26 11:19:31 -07:00
Anders Kaseorg
29fb68ebcc install-shfmt: Upgrade shfmt from 3.10.0 to 3.11.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-03-14 18:32:23 -07:00
Anders Kaseorg
d7556b4060 requirements: Migrate to uv.
https://docs.astral.sh/uv/

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-02-24 22:29:24 -08:00
Alex Vandiver
c84c76f3a1 puppet: Upgrade external dependencies. 2025-02-21 14:38:31 -08:00
Anders Kaseorg
f223251ffe requirements: Upgrade Python requirements.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-01-14 09:42:16 -08:00
apoorvapendse
8cc4b655ba code_block: Exclude 🔥 emoji alias for mojo. 2025-01-03 15:16:32 -08:00
Anders Kaseorg
89bc073b5b emoji_names: Rebuild with CLDR 46.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-01-02 17:30:40 -08:00
Anders Kaseorg
a9d64d5604 dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-01-02 17:30:40 -08:00
Anders Kaseorg
19b8cde27f ruff: Fix PLC0206 Extracting value from dictionary without calling .items().
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-21 21:06:53 -08:00
Anders Kaseorg
21a085e390 generate_emoji_names_table: Update SORTED_CATEGORIES.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-16 13:12:01 -08:00
Anders Kaseorg
d78902fac3 e2e-tests: Move test credentials to a JSON file.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-12-01 22:14:35 -08:00
Niloth P
d8d0b9c754 optimize-svg: Add an optional argument to optimize single files.
Do not call `generate_integration_bots_avatars.py` for single files.
2024-11-21 10:49:05 -08:00
Niloth P
ef3fbcf954 optimize-svg: The --check flag does not modify files anymore.
The `svgo` command needs to write to a file to process it.
So, create and use a mktemp path, and delete it after the svgo command.
2024-11-21 10:49:05 -08:00
Niloth P
5b3d2a9e59 optimize-svg: Use a constant FILE_PATH, remove path from echo output. 2024-11-21 10:49:05 -08:00
Niloth P
7ada56c8e2 optimize-svg: Invoke svgo only via PNPM. 2024-11-21 10:49:05 -08:00
Anders Kaseorg
01540b45b0 web: Set "type": "module" and convert various CJS files to ESM.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-13 09:18:56 -08:00
Anders Kaseorg
792e9fa047 install-shfmt: Upgrade shfmt from 3.9.0 to 3.10.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-05 17:01:09 -08:00
Aman Agrawal
ec23f5e77b hello: Add interactive block showing basic usage.
Co-Authored-By: Vlad Korobov <terpimost@gmail.com>
2024-10-10 11:42:29 -07:00
Anders Kaseorg
d5bc3421fc install-tusd: Be careful to match the complete version line.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-09-26 09:26:34 -07:00
Anders Kaseorg
5a978edf40 install-aws-server: Fix SC2206 violation.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-09-24 23:05:39 -07:00
Anders Kaseorg
0cc6421118 install-transifex-cli: Upgrade Transifex CLI from 1.6.16 to 1.6.17.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-09-24 20:51:24 -07:00