Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Alex Vandiver ea1323c407 postgresql: Raise locked-memory limit for io_uring rings.
Since f0cc982e52, PostgreSQL 18 uses io_uring when available.
PostgreSQL creates an io_uring instance for each of the
`max_connections = 1000` possible backends.  Linux 6.14 and newer
charge that usage (8-13MiB at our default PostgreSQL settings) against
RLIMIT_MEMLOCK.  Unfortunately, the systemd default is only 8MiB; on
such kernels (e.g. Ubuntu 26.04), PostgreSQL 18 fails to start with:

    FATAL: could not setup io_uring queue: Cannot allocate memory

Raise the limit to 256MiB.  This accommodates io_uring usage even at
the maximum configurable io_max_concurrency (~100MiB), times two
clusters running concurrently during pg_upgradecluster (since the
kernel counts locked memory per-user, not per-process).

Installations on older kernels (e.g. Ubuntu 24.04's Linux 6.8) pin
the same memory without accounting it, so they start fine today but
would fail after a kernel upgrade; applying the higher limit
fixes them preemptively.
2026-06-03 10:49:10 +05:30
.claude docs: Don't require dual-theme screenshots for theme-invariant changes. 2026-05-26 13:00:58 +05:30
.github Revert "ci: Drop upgrade tests for 6.0 and 7.0." 2026-05-26 17:41:33 +08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics requirements: Upgrade Python requirements. 2026-04-17 15:04:02 -07:00
api_docs api-docs: Update changelog to reflect the backport of feature level 506. 2026-06-02 22:46:15 +05:30
confirmation ruff: Fix RUF059 Unpacked variable is never used. 2025-09-30 16:47:54 -07:00
corporate stripe: Error on missing invoice for invoice-billed free trial. 2026-06-02 10:06:40 +05:30
docs docs: Expand manual testing in "reviewing Zulip code" guide. 2026-05-29 15:08:30 -05:00
locale makemessages: Remove line numbers from .po files. 2026-04-27 13:52:29 -07:00
patches dependencies: Upgrade JavaScript dependencies. 2026-05-13 14:20:32 -07:00
pgroonga zproject: Remove mostly-unused SCHEMA in database config. 2025-12-16 13:03:27 -08:00
puppet postgresql: Raise locked-memory limit for io_uring rings. 2026-06-03 10:49:10 +05:30
scripts zulip_tools: Rename start_arg_parser to start_script_arg_parser. 2026-05-29 23:08:16 +08:00
starlight_help help: Add user card info graphic. 2026-05-29 21:40:13 +02:00
static static: Shrink empty space at top of email template. 2026-05-15 10:26:21 -04:00
templates portico: Update job openings and company info. 2026-06-02 12:03:37 +05:30
tools loading_error: Extract the loading-error UI toggle to a shared module. 2026-06-02 08:05:38 +05:30
web sidebars: Add drop shadow to sticky section headers when scrolled. 2026-06-02 09:12:17 -05:00
zerver api-docs: Update changelog to reflect the backport of feature level 506. 2026-06-02 22:46:15 +05:30
zilencer populate_db: Add attachments in messages. 2026-05-29 09:06:22 +05:30
zproject dev_settings: Enable landing announcement banner. 2026-05-19 15:48:25 -05:00
.codecov.yml
.codespellignore types: Add declarations for openapi-examples-validator. 2025-09-04 17:02:06 -07:00
.devcontainer.json provision: Add native support for GitHub Codespaces. 2026-04-26 22:28:01 -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 gitignore: Add dev_saml.cert. 2026-02-04 14:42:15 -08:00
.gitlint lint: Update line-length for commit message to 72 in gitlint. 2023-05-01 10:35:52 -07:00
.mailmap mailmap: Use standard name capitalization. 2026-04-25 23:04:34 -07:00
.npmignore
.prettierignore marked: Rename to *.cjs. 2024-11-13 09:18:56 -08:00
.readthedocs.yaml install-uv: Upgrade uv from 0.11.7 to 0.11.14. 2026-05-12 16:21:37 -07:00
.sonarcloud.properties
CODE_OF_CONDUCT.md contributor docs: Update policy to ban AI-generated messages on CZO. 2026-02-09 20:47:39 -08:00
CONTRIBUTING.md docs: Fix miscellaneous typos and grammar errors. 2026-05-29 21:41:34 +02:00
Dockerfile-postgresql release-checklist: Prescribe docker build --pull. 2025-09-30 16:35:21 -07:00
eslint.config.js eslint: Enable eslint-plugin-promise. 2025-12-30 09:29:21 -08: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 re2js. 2026-05-19 21:50:56 -07:00
pnpm-lock.yaml dependencies: Add re2js. 2026-05-19 21:50:56 -07:00
pnpm-workspace.yaml dependencies: Upgrade JavaScript dependencies. 2026-05-13 14:20:32 -07:00
prettier.config.js prettier: Type-check Prettier configuration. 2025-09-10 09:44:44 -07:00
pyproject.toml requirements: Upgrade Python requirements. 2026-05-12 16:38:09 -07:00
README.md docs: Replace Twitter (X) references with Bluesky. 2026-04-27 08:15:11 -07:00
SECURITY.md contributor docs: Expand documentation on reporting security issues. 2025-12-17 13:16:28 -08:00
stylelint.config.js stylelint: Type-check Stylelint configuration. 2025-09-10 09:44:44 -07:00
tsconfig.json custom_profile_fields_ui: Avoid needless unchecked type assertion. 2025-12-25 19:08:21 -08:00
uv.lock requirements: Upgrade Python requirements. 2026-05-12 16:38:09 -07:00
Vagrantfile Vagrantfile: Share the .git folder (for git worktree support). 2026-04-23 09:18:20 -07:00
version.py api: Increment API feature level to 506. 2026-06-01 19:06:35 +05:30

Zulip overview

Zulip is an open-source organized team chat app 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 99+ 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 Bluesky GitHub Sponsors

Getting started

  • Contributing code. Check out our guide for new contributors to get started. We have invested in making Zulips code highly readable, thoughtfully tested, and easy to modify. Beyond that, we have written an extraordinary 185K words of documentation for Zulip contributors.

  • Contributing non-code. Report an issue, translate Zulip into your language, or give us feedback. We'd love to hear from you, whether you've been using Zulip for years, or are just trying it out for the first time.

  • Checking Zulip out. The best way to see Zulip in action is to drop by the Zulip development community (no account required). We also recommend reading about Zulip's unique approach to organizing conversations.

  • Running a Zulip server. Self-host Zulip directly on Ubuntu or Debian Linux, in Docker, or with prebuilt images for Digital Ocean and Render. Learn more about self-hosting Zulip.

  • Using Zulip without setting up a server. Learn about Zulip Cloud hosting options. Zulip sponsors free Zulip Cloud Standard for hundreds of worthy organizations, including fellow open-source projects.

  • Participating in outreach programs like Google Summer of Code.

  • Supporting Zulip. Learn about all the ways you can support Zulip, including contributing financially, and helping others discover it.

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

Zulip is distributed under the Apache 2.0 license.