Go to file
Shanu 7f196967ad event_queue: Remove internal fields being leaked to the API.
A few internal fields used for tracking which types of notifications
have already been sent for a given message, like `hander_id` and the
`push_notified` bundle of fields were being incorrectly included in
message events delivered to clients clients.

One could argue these fields might be useful hints to clients, but
because notifications can be triggered later on via
`missedmessage_hook`, they have no useful purpose in the API.

This commit move these extended event field on a `internal_data`
object within the event object, and delete this field in `contents()`
for call points that would serve data to clients.

Tweaked by tabbott to provide a cleaner interface.

We're not bumping API_FEATURE_LEVEL because these fields have always
been documented as being present only due to a bug, so no clients
should be expecting or relying on them.

Fixes: #15947.
2021-02-14 21:42:19 -08:00
.circleci ci: Port xenial-legacy check to GitHub Actions. 2021-02-08 18:01:29 -08:00
.github ci: Port xenial-legacy check to GitHub Actions. 2021-02-08 18:01:29 -08:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
confirmation python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
corporate python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
docs docs: Add a performance design document. 2021-02-13 13:05:47 -08:00
frontend_tests node tests: Split draft_model for add/edit/delete cases. 2021-02-14 09:13:24 -05:00
locale i18n: Update translation data from Transifex. 2021-01-19 17:45:13 -08:00
pgroonga python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
puppet python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
requirements lint: Replace (most of) pycodestyle with Black. 2021-02-12 13:11:19 -08:00
scripts python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
static shared: Format our one Flow file with Prettier. 2021-02-14 07:03:32 -05:00
stubs requirements: Upgrade mypy to 0.790. 2020-11-12 15:44:30 -08:00
templates docs: Replace A icon with help in format using markdown. 2021-02-08 17:29:03 -08:00
tools shared: Format our one Flow file with Prettier. 2021-02-14 07:03:32 -05:00
zerver event_queue: Remove internal fields being leaked to the API. 2021-02-14 21:42:19 -08:00
zilencer python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zproject python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
zthumbor python: Normalize quotes with Black. 2021-02-12 13:11:19 -08: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
.editorconfig lint: Add shfmt as a linter. 2020-10-15 15:16:00 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json js: Convert static/js/billing/upgrade.js to ES6 module. 2021-02-10 10:27:14 -08:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore tools: Move CI docker images files into tools/ci. 2020-06-29 16:31:43 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg isort: Enable black profile. 2020-09-02 11:00:07 -07:00
.mailmap mailmap: Give priority to Vishnu KS's zulip email. 2020-07-31 10:37:49 -07:00
.npmignore
.prettierignore lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -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: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
CONTRIBUTING.md docs: Added number of selected participants in GSoC 2020. 2020-11-09 20:26:56 -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: Document Black and isort. 2021-02-12 15:31:59 -08:00
SECURITY.md docs: Fix more capitalization issues. 2020-10-23 11:46:55 -07:00
Vagrantfile Revert "Make sure Vagrant works with SELinux enabled" 2021-01-26 13:14:06 -08:00
babel.config.js babel: Specify core-js minor version. 2020-10-05 14:51:03 -07:00
manage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mypy.ini mypy: Exclude broken typeshed stubs for markdown. 2020-11-12 15:44:30 -08:00
package.json dependencies: Upgrade JavaScript dependencies. 2021-02-10 15:55:49 -08:00
postcss.config.js styles: Use range context queries to eliminate *_max variables. 2021-02-05 09:23:59 -08:00
prettier.config.js casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
pyproject.toml pyproject: Configure Black. 2021-02-12 08:34:43 -08:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -08:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
tsconfig.json docs: Fix more capitalization issues. 2020-10-23 11:46:55 -07:00
version.py lint: Replace (most of) pycodestyle with Black. 2021-02-12 13:11:19 -08:00
webpack.config.ts run-dev: Suppress the notices made by third-party tools. 2021-01-22 18:00:30 -08:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2021-02-10 15:55:49 -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 code style: black code style: prettier 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.