Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Sahil Batra 1d026d9b2b streams: Make sure an anonymous group is used for only one setting.
When creating multiple streams using "POST /users/me/subscriptions"
endpoint, same anonymous group was being used for settings of all
the streams, like if can_subscribe_group was being set to an
anonymous group, all streams created using that endpoint would
use the same anonymous group for can_subscribe_group setting.

Using the same anonymous groups for multiple streams caused
unintended behavior  -

- Changing a setting for one stream also changed it for all
other streams sharing the the same anonymous group, because
eventually the members and subgroups of the group were updated.

- Changing the setting to a named user group failed because
`do_change_stream_permission_group` attempts to delete the
anonymous group during the update. However, deletion of
anonymous group is restricted if they are still referenced
by setting fields.

This commit fixes this so that one anonymous group is used
only for one setting for a single stream.
2025-11-04 11:51:31 -08:00
.github github_action: Fix "notify-if-api-docs-changed" tool. 2025-10-23 14:23:25 -07:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
api_docs users: Send peer_remove for archived streams as well on deactivation. 2025-11-04 11:14:59 -08:00
confirmation ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
corporate corporate: Update topics for new org creation to include org type. 2025-11-04 08:53:54 -08:00
docs contributor docs: Explain mechanics of adding a help center page. 2025-11-03 15:54:42 -08:00
locale i18n: Updated .po files for new strings. 2025-10-22 10:16:02 -04:00
patches dependencies: Upgrade JavaScript dependencies. 2025-11-01 07:24:57 -07:00
pgroonga migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
puppet puppet: Add a postfix.uninstall flag to allow skipping that step. 2025-11-04 08:35:42 -08:00
scripts install-node: Upgrade Node.js from 22.20.0 to 24.11.0. 2025-11-01 07:24:57 -07:00
starlight_help help: Document image cropping for profile pictures. 2025-11-04 08:53:13 -08:00
static slack_integration: Avoid showing sender username. 2025-11-03 16:42:07 -08:00
templates new_registration: Move human verification from popup to inline style. 2025-11-03 12:19:57 -08:00
tools integrations: Migrate channel name from Integration to ScreenshotConfig. 2025-11-03 16:08:06 -08:00
web stream_events: Remove remove_deactivated_user_from_all_streams. 2025-11-04 11:14:59 -08:00
zerver streams: Make sure an anonymous group is used for only one setting. 2025-11-04 11:51:31 -08:00
zilencer push_notification: Improve logged message when apns_context is None. 2025-11-03 15:45:22 -08:00
zproject rate_limit: Additionally limit to 2000 authenticated requests per hour. 2025-10-27 16:22:13 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.codespellignore types: Add declarations for openapi-examples-validator. 2025-09-04 17:02:06 -07:00
.editorconfig check-openapi: Convert to TypeScript. 2025-09-04 17:02:06 -07: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: Deduplicate a contributor's commits. 2025-08-13 15:36:48 -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 docs: Fix wording in "Moderating the Zulip community". 2025-09-12 13:07:59 -07:00
CONTRIBUTING.md contributor docs: Rename section and update references. 2025-10-28 10:28:02 -07:00
Dockerfile-postgresql release-checklist: Prescribe docker build --pull. 2025-09-30 16:35:21 -07:00
eslint.config.js dependencies: Upgrade JavaScript dependencies. 2025-11-01 07:24:57 -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 dependencies: Add @uppy/image-editor plugin. 2025-11-03 16:55:04 -08:00
pnpm-lock.yaml dependencies: Add @uppy/image-editor plugin. 2025-11-03 16:55:04 -08:00
pnpm-workspace.yaml starlight_help: Move help-beta over to starlight_help. 2025-08-08 11:59:29 -07:00
prettier.config.js prettier: Type-check Prettier configuration. 2025-09-10 09:44:44 -07:00
pyproject.toml timestamp: Use localized formatting in format_datetime_to_string. 2025-10-03 10:43:16 -07:00
README.md docs and portico: Update documentation word counts. 2025-10-09 15:11:42 -07:00
SECURITY.md docs: Update links for renamed securing-your-zulip-server doc. 2025-10-13 10:06:31 -07:00
stylelint.config.js stylelint: Type-check Stylelint configuration. 2025-09-10 09:44:44 -07:00
tsconfig.json tsconfig: Enable allowJs. 2025-09-10 09:44:44 -07:00
uv.lock stripe: Upgrade to latest version. 2025-10-31 16:01:10 -07:00
Vagrantfile Vagrantfile: Forward port 9995 for /help dev server. 2025-09-03 16:22:29 -07:00
version.py users: Send peer_remove for archived streams as well on deactivation. 2025-11-04 11:14:59 -08: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 97+ people who have each contributed 100+ commits. With over 1,500 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.