Go to file
Eeshan Garg 88fd399bec billing: Use UserProfile.id to ascertain customer's email.
Previously, our Stripe webhook event handler code retrieved the
user's email from Stripe using the stripe.Customer.email attribute.
This led to situations such that whenever the email that Stripe had
did not correspond to a UserProfile in Zulip, the payment flow
failed since we couldn't find a UserProfile associated with the
given email.

Now, we pass in the UserProfile.id in the metadata to Stripe's
checkout Session object, so that we can fetch the correct email
in future Stripe requests.
2021-12-03 14:57:30 -08:00
.github ci: Test upgrades from the latest minor release. 2021-11-25 08:00:34 -08:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics realm: Rename plan type constants to be more descriptive. 2021-10-19 12:20:39 -07:00
confirmation get_object_from_key: Accept multiple allowed Confirmation types. 2021-12-02 09:50:41 -08:00
corporate billing: Use UserProfile.id to ascertain customer's email. 2021-12-03 14:57:30 -08:00
docs docs: Clarify use of `loadbalancer.ips` when using a reverse proxy. 2021-12-03 13:59:31 -08:00
frontend_tests eslint: Fix unicorn/prefer-code-point. 2021-12-03 14:33:53 -08:00
locale i18n: Update translation data from Transifex. 2021-11-01 16:33:52 -07:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet env-wal-g: Quote $s3_backups_bucket. 2021-12-03 14:33:53 -08:00
requirements requirements: Upgrade Python requirements. 2021-12-02 08:16:20 -08:00
scripts install-node: Upgrade Node.js from 16.13.0 to 16.13.1. 2021-12-03 14:33:53 -08:00
static recent_topics: Extend persistent focus bug to all RT elements. 2021-12-03 14:39:48 -08:00
stubs billing: Enforce the Stripe API version is in sync with billing system. 2021-11-05 17:23:10 -07:00
templates check-templates: Rewrite pretty_print (again). 2021-12-03 14:35:34 -08:00
tools check-templates: Rewrite pretty_print (again). 2021-12-03 14:35:34 -08:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver events: Explicitly send empty drafts to spectators. 2021-12-03 14:34:21 -08:00
zilencer realm: Enable spectator access by default in development. 2021-11-18 12:55:12 -08:00
zproject CVE-2021-43791: Validate confirmation keys in /accounts/register/ codepath. 2021-12-01 23:14:04 +00:00
.browserslistrc browserslist: Drop 0.2% usage threshold to 0.15%. 2020-09-28 10:57:49 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.codespellignore CI: Add Codespell linter. 2021-10-27 16:49:30 -07:00
.editorconfig editorconfig: Restore indent_size = 2 for Markdown. 2021-08-20 23:14:37 -07:00
.eslintignore requirements: Remove Thumbor. 2021-05-06 20:07:32 -07:00
.eslintrc.json dependencies: Upgrade JavaScript dependencies. 2021-12-03 14:33:53 -08:00
.gitattributes
.gitignore editor: Add `.vscode/extensions.json` file. 2021-10-29 15:47:44 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add mailmap entry for Sahil Batra. 2021-07-21 10:46:34 -07:00
.npmignore
.prettierignore prettier: Exclude backend-processed Markdown files. 2021-08-20 23:14:37 -07:00
.pyre_configuration pysa: Update .pyre_configuration to point to typeshed. 2020-09-22 15:44:47 -07:00
.sonarcloud.properties tools: Configure Zulip to be scannable by SonarCloud. 2020-06-24 12:41:17 -07:00
.yarnrc .yarnrc: Set ignore-scripts true. 2019-08-28 16:15:54 -07:00
CODE_OF_CONDUCT.md docs: Apply bullet style changes from Prettier. 2021-09-08 12:06:24 -07:00
CONTRIBUTING.md dev docs: Address feedback on Contributing guide. 2021-11-24 14:12:25 -08:00
Dockerfile-postgresql docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -07:00
LICENSE license: Move copyright notice from LICENSE to NOTICE. 2021-02-05 09:28:12 -08:00
NOTICE docs: Bump copyright year. 2021-02-05 09:28:15 -08:00
README.md docs: Apply sentence single-spacing from Prettier. 2021-09-08 12:06:24 -07:00
SECURITY.md docs: Apply sentence single-spacing from Prettier. 2021-09-08 12:06:24 -07:00
Vagrantfile Vagrantfile: Move inline provision script to a separate file. 2021-09-14 10:22:48 -07:00
babel.config.js i18n: Initialize FormatJS. 2021-04-13 17:41:10 -07:00
manage.py manage: Restore `changepassword` back to documented_commands. 2021-06-18 09:11:01 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2021-12-03 14:33:53 -08:00
postcss.config.js css: Replace "night-mode-block" with "dark-theme-block". 2021-11-26 22:03:29 -08:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml rate_limit: Add a flag to lump all TOR exit node IPs together. 2021-11-16 11:42:00 -08:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -08:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2021-11-05 17:34:13 -07:00
tsconfig.json tsconfig: Enable noImplicitOverride. 2021-09-13 10:10:34 -07:00
version.py install-shfmt: Upgrade shfmt from 3.4.0 to 3.4.1. 2021-12-03 14:33:53 -08:00
webpack.config.ts webpack: Remove LoaderOptionsPlugin. 2021-10-17 07:13:57 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2021-12-03 14:33:53 -08:00

README.md

Zulip overview

Zulip is a powerful, open source group chat application that combines the immediacy of real-time chat with the productivity benefits of threaded conversations. Zulip is used by open source projects, Fortune 500 companies, large standards bodies, and others who need a real-time chat system that allows users to easily process hundreds or thousands of messages a day. With over 700 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

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

Getting started

Click on the appropriate link below. If nothing seems to apply, join us on the Zulip community server and tell us what's up!

You might be interested in:

You may also be interested in reading our blog or following us on Twitter. Zulip is distributed under the Apache 2.0 license.