Go to file
Alex Vandiver 9dfaa83aa8 invites: Remove invites worker, make confirmation object in-process.
The "invites" worker exists to do two things -- make a Confirmation
object, and send the outgoing email.  Making the Confirmation object
in a background process from where the PreregistrationUser is created
temporarily leaves the PreregistrationUser in invalid state, and
results in 500's, and the user not immediately seeing the sent
invitation.  That the "invites" worker also wants to create the
Confirmation object means that "resending" an invite invalidates the
URL in the previous email, which can be confusing to the user.

Moving the Confirmation creation to the same transaction solves both
of these issues, and leaves the "invites" worker with nothing to do
but send the email; as such, we remove it entirely, and use the
existing "email_senders" worker to send the invites.  The volume of
invites is small enough that this will not affect other uses of that
worker.

Fixes: #21306
Fixes: #24275
2024-05-02 14:23:04 -07:00
.github Remove support for Ubuntu 20.04 and Debian 11. 2024-04-01 13:27:39 -07:00
.tx provision: Replace transifex-client with new transifex-cli. 2022-12-13 12:34:08 -08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
api_docs message_delete: Update "first_message_id" on message deletion. 2024-04-30 14:15:22 -07:00
confirmation invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
corporate invites: Lock the realm when determining invitation counts. 2024-05-02 14:23:04 -07:00
docs contributor docs: Extend help center writing style documentation. 2024-05-02 13:37:44 -07:00
help help: Update documentation on switching themes. 2024-05-02 13:34:09 -07:00
locale i18n: Update translation data from Transifex. 2024-05-02 10:50:24 -07:00
patches eslint: Enable no-jquery/no-append-html. 2024-04-04 10:11:57 -07:00
pgroonga migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
puppet invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
requirements requirements: Add pyasyncore, to fix pyinotify on Python 3.12. 2024-04-29 13:13:20 -07:00
scripts invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
static help: Update article on collaborative to-do lists. 2024-04-16 16:55:41 -07:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates data_import: Remove gitter data import tool. 2024-05-02 13:25:25 -07:00
tools data_import: Remove gitter data import tool. 2024-05-02 13:25:25 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
web invites: Stop adjusting invited_at on resends. 2024-05-02 14:23:04 -07:00
zerver invites: Remove invites worker, make confirmation object in-process. 2024-05-02 14:23:04 -07:00
zilencer invoice_plans: Add a --date flag, rather than a commented line. 2024-04-24 14:40:28 -07:00
zproject settings: Fix a typo in a comment. 2024-04-30 12:37:02 -07:00
.codecov.yml
.codespellignore pygments: Place Default (light) and Monokai (dark) schemes. 2023-12-04 13:03:34 -08:00
.editorconfig editorconfig: Use [[shell]] section for shfmt options. 2024-02-22 16:36:16 -05:00
.eslintignore web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08:00
.eslintrc.json eslint: Enable no-jquery/no-append-html. 2024-04-04 10:11:57 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore dev_settings: Allow user to override settings in a git-ignored file. 2023-12-04 09:50:14 -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 entry for Rohan Gudimetla. 2023-12-13 13:28:19 -08:00
.npmignore
.npmrc dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.prettierignore integrations: Create incoming webhook for GitHub Sponsors. 2024-02-07 09:52:03 -08:00
.pyre_configuration
.readthedocs.yaml readthedocs: Add a configuration file. 2023-02-03 16:36:54 -08:00
.sonarcloud.properties
CODE_OF_CONDUCT.md docs: Rename "private message" -> "direct message". 2023-06-23 14:36:16 -07:00
CONTRIBUTING.md docs: Fix a server/web-specific segment in contributing guide. 2024-02-26 08:40:37 -08:00
Dockerfile-postgresql docs: Fix grammar errors found by mwic. 2023-10-09 13:24:09 -07:00
LICENSE
NOTICE
README.md docs: Update Ruff badge and links. 2023-10-26 15:51:46 -07:00
SECURITY.md docs: Update .html links pointing to "Upgrade Zulip" or "Modify Zulip". 2023-08-11 16:49:32 -07:00
Vagrantfile Upgrade development environment to Ubuntu 22.04. 2024-04-01 13:27:39 -07:00
dump.rdb stream-settings: Show indicator on notification settings. 2024-02-13 14:47:42 -08:00
manage.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2024-04-25 16:46:03 -07:00
pnpm-lock.yaml dependencies: Upgrade JavaScript dependencies. 2024-04-25 16:46:03 -07:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2023-07-21 15:58:42 -07:00
tsconfig.json dependencies: Install `@types/jquery.validation for type annotation. 2023-08-14 16:00:20 -07:00
version.py message_delete: Update "first_message_id" on message deletion. 2024-04-30 14:15:22 -07:00

README.md

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: black 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.