Go to file
Steve Howell 996d054fe9 messages: Send stream_id for stream messages.
This saves a tiny bit of bandwidth, but more
importantly, it protects us against races for
stream name changes.  There's some argument that
if the user is thinking they're sending to
old_stream_name, and unbeknownst to them, the
stream has changed to new_stream_name, then we
should fail.  But I think 99% of the time the
user just wants the message to go that stream
despite any renames.

In order to verify the blueslip error, we
had to turn on error checking, which required
a tiny fix to a place where we left out
a stream_id for add_sub.
2020-02-07 14:15:44 -08:00
.circleci circleci: Store XUnit test results. 2019-07-07 22:31:11 -07:00
.github github: Suggest GIFs too in PR template. 2018-02-16 09:59:22 -08:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics analytics: Added comments. 2020-01-28 14:57:32 -08:00
confirmation confirmation: Set confirmation object realm attribute in realm reactivation. 2019-10-21 16:52:46 -07:00
corporate python: Sort migrations/management command imports with isort. 2020-01-14 13:07:47 -08:00
docs docs: Fix small issues in architecture overview. 2020-02-06 15:03:10 -08:00
frontend_tests messages: Send stream_id for stream messages. 2020-02-07 14:15:44 -08:00
locale i18n: Update translation data from transifex. 2019-12-12 20:34:46 -08:00
pgroonga python: Sort migrations/management command imports with isort. 2020-01-14 13:07:47 -08:00
puppet queue: Remove missedmessage_email_senders. 2020-01-31 12:13:51 -08:00
requirements requirements: Ask social-auth to pull in its own reqs for Azure, SAML. 2020-02-06 15:00:13 -08:00
scripts requirements: Fork pip.txt to pip2.txt for Python 2. 2020-02-05 12:38:10 -08:00
static messages: Send stream_id for stream messages. 2020-02-07 14:15:44 -08:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates settings_overlay: Don't assume a user_profile is provided. 2020-02-05 16:05:02 -08:00
tools js: Automatically convert _.each to for…of. 2020-02-07 14:09:47 -08:00
zerver test_fixtures: Fix buggy reuse of status_dir between databases. 2020-02-07 13:33:08 -08:00
zilencer settings: Migrate to stream_post_policy structure. 2020-02-04 17:08:08 -08:00
zproject api: Add an api endpoint for GET /users/{id} 2020-02-07 10:36:31 -08:00
zthumbor zthumbor: Clean up type ignores. 2019-08-09 17:42:33 -07:00
.browserslistrc webpack: Transpile JS code with Babel. 2019-07-22 17:55:32 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig editorconfig: Set JS max_line_length = 100, to match eslintrc. 2019-10-14 17:32:38 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json dict: Assert that Dict is only used with string keys. 2020-02-02 20:37:41 -08:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore i18n: Move static/locale back to locale. 2019-07-02 14:57:55 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg tornado: Fix logging of tornado activity level. 2018-04-17 15:59:01 -07:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.stylelintrc lint: Ban color names in CSS. 2019-01-22 15:33:18 -08:00
.travis.yml ci: Move backend and production tests to Ubuntu 16.04 (xenial). 2019-05-24 17:07:15 -07:00
.yarnrc .yarnrc: Set ignore-scripts true. 2019-08-28 16:15:54 -07:00
CODE_OF_CONDUCT.md docs: Add clarifying comma in CODE_OF_CONDUCT.md. 2019-04-05 18:01:37 -07:00
CONTRIBUTING.md docs: Remove mention of Dropbox CLA. 2019-12-14 22:07:38 -08:00
Dockerfile-postgresql base Zulip PostgreSQL Docker container on PGroonga official one 2019-12-30 10:20:25 -08:00
LICENSE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
README.md README: Improve links to coverage/CI to point to master. 2019-10-01 15:31:55 -07:00
Vagrantfile Revert "vagrant: Add NFS backend for file synchronization for OSX." 2019-08-12 16:04:00 -07:00
babel.config.js babel: Enable loose mode. 2020-02-05 11:52:52 -08:00
manage.py manage.py: Revert sabotaging pika.adapters.twisted_connection import. 2019-01-31 10:04:28 -08:00
mypy.ini dependencies: Remove WebSockets system for sending messages. 2020-01-14 22:34:00 -08:00
package.json dependencies: Upgrade all JavaScript dependencies. 2020-02-04 22:13:47 -08:00
postcss.config.js webpack: Move CSS minification to optimization stage. 2019-09-02 21:58:13 -07:00
tsconfig.json tsconfig: Fix typescript-eslint memory usage disaster. 2019-11-22 11:38:25 -08:00
version.py requirements: Upgrade all Python requirements. 2020-02-05 12:38:10 -08:00
yarn.lock dependencies: Upgrade all JavaScript dependencies. 2020-02-04 22:13:47 -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 500 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

CircleCI branch Coverage Status Mypy coverage GitHub release docs Zulip chat Twitter

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.