Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Mateusz Mandera 2bfefe2ebd confirm_email_change: Use redirect-to-POST trick.
Just like with signup confirmation links, we shouldn't trigger email
change based on a GET to the confirmation URL - POST should be required.

So upon GET of the confirmation link, we serve a form which will
immediately be POSTed by JS code to finalize the email change.
2025-07-07 17:15:08 -07:00
.github actions: Add test upgrade from 10.0. 2025-04-03 11:37:42 -07:00
.tx i18n: Merge zh_Hant into zh_TW. 2024-12-10 10:00:45 -08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics ruff: Fix PLR1733 Unnecessary lookup of dictionary value by key. 2025-06-25 11:49:02 -07:00
api_docs left_sidebar: Add navigation option to go to top unread topic. 2025-07-03 18:14:10 -07:00
confirmation confirm_email_change: Use redirect-to-POST trick. 2025-07-07 17:15:08 -07:00
corporate case-studies: Add WindBorne case study. 2025-07-02 09:36:47 -07:00
docs docs: Update changelog for Zulip Server 10.4 release. 2025-07-02 13:30:22 -07:00
help left_sidebar: Add navigation option to go to top unread topic. 2025-07-03 18:14:10 -07:00
help-beta help-beta: Add eslint plugin for astro files. 2025-06-30 09:06:18 -07:00
locale i18n: Update translations from Transifex. 2025-06-25 22:58:55 -07:00
patches dependencies: Upgrade JavaScript dependencies. 2025-06-04 16:24:47 -07:00
pgroonga migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
puppet docker: Start local mailserver on port 25. 2025-07-02 10:21:08 -07:00
scripts settings: Add push_registration_encryption_keys map. 2025-07-06 21:11:26 -07:00
static help: Add example email invitation image to "Invite new users". 2025-07-02 10:23:38 -07:00
templates confirm_email_change: Use redirect-to-POST trick. 2025-07-07 17:15:08 -07:00
tools inputs: Implement redesigned input component. 2025-07-03 11:45:35 -07:00
web confirm_email_change: Use redirect-to-POST trick. 2025-07-07 17:15:08 -07:00
zerver confirm_email_change: Use redirect-to-POST trick. 2025-07-07 17:15:08 -07:00
zilencer zilencer: Update comments on remotepushdevice. 2025-07-07 09:41:34 -07:00
zproject confirm_email_change: Use redirect-to-POST trick. 2025-07-07 17:15:08 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.codespellignore corporate: Add more detail to job description. 2025-04-01 18:36:54 -07:00
.editorconfig lint: Further recognize more JavaScript file extensions. 2024-11-10 17:52:49 -08:00
.gitattributes gitattributes: Diff SVGs as code. 2025-05-22 15:59:55 -07:00
.gitignore requirements: Migrate to uv. 2025-02-24 22:29:24 -08:00
.gitlint lint: Update line-length for commit message to 72 in gitlint. 2023-05-01 10:35:52 -07:00
.mailmap mailmap: Add a few more mailmap entries. 2025-03-20 11:07:18 -07:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.prettierignore marked: Rename to *.cjs. 2024-11-13 09:18:56 -08:00
.readthedocs.yaml install-uv: Upgrade uv from 0.6.3 to 0.6.6. 2025-03-14 17:31:50 -07:00
.sonarcloud.properties tools: Configure Zulip to be scannable by SonarCloud. 2020-06-24 12:41:17 -07:00
CODE_OF_CONDUCT.md linter: Add check for comma after "e.g." in md files. 2024-07-05 15:36:24 -07:00
CONTRIBUTING.md contributor docs: Better explain taking over abandoned issues. 2025-03-06 10:33:00 -08:00
Dockerfile-postgresql docs: Fix grammar errors found by mwic. 2023-10-09 13:24:09 -07:00
eslint.config.js help-beta: Add eslint plugin for astro files. 2025-06-30 09:06:18 -07:00
LICENSE license: Move copyright notice from LICENSE to NOTICE. 2021-02-05 09:28:12 -08:00
manage.py manage: Delete custom PYTHONSTARTUP. 2025-06-12 09:28:00 -07:00
NOTICE docs: Bump copyright year. 2021-02-05 09:28:15 -08:00
package.json help-beta: Add eslint plugin for astro files. 2025-06-30 09:06:18 -07:00
pnpm-lock.yaml help-beta: Add eslint plugin for astro files. 2025-06-30 09:06:18 -07:00
pnpm-workspace.yaml help-beta: Create initial starlight project. 2024-08-02 18:18:01 -07:00
prettier.config.js help-beta: Add prettier plugin for astro files. 2025-06-30 09:06:18 -07:00
pyproject.toml settings: Add push_registration_encryption_keys map. 2025-07-06 21:11:26 -07:00
README.md contributor docs: Reorganize contributor guide. 2025-02-12 12:58:10 -08:00
SECURITY.md docs: Update .html links pointing to "Upgrade Zulip" or "Modify Zulip". 2023-08-11 16:49:32 -07:00
stylelint.config.js web: Set "type": "module" and convert various CJS files to ESM. 2024-11-13 09:18:56 -08:00
tsconfig.json tsconfig: Enable erasableSyntaxOnly. 2025-03-17 08:43:19 -07:00
uv.lock settings: Add push_registration_encryption_keys map. 2025-07-06 21:11:26 -07:00
Vagrantfile Upgrade development environment to Ubuntu 22.04. 2024-04-01 13:27:39 -07:00
version.py settings: Add push_registration_encryption_keys map. 2025-07-06 21:11:26 -07:00

Zulip overview

Zulip is an open-source team collaboration tool with unique topic-based threading that combines the best of email and chat to make remote work productive and delightful. Fortune 500 companies, leading open source projects, and thousands of other organizations use Zulip every day. Zulip is the only modern team chat app that is designed for both live and asynchronous conversations.

Zulip is built by a distributed community of developers from all around the world, with 74+ people who have each contributed 100+ commits. With over 1000 contributors merging over 500 commits a month, Zulip is the largest and fastest growing open source team chat project.

Come find us on the development community chat!

GitHub Actions build status coverage status Mypy coverage Ruff code style: prettier GitHub release docs Zulip chat Twitter GitHub Sponsors

Getting started

You may also be interested in reading our blog, and following us on Twitter and LinkedIn.

Zulip is distributed under the Apache 2.0 license.