Go to file
Mateusz Mandera 90636d5e81 events: Fix bug in get_recent_conversations_recipient_id.
user_profile.id was confused for user_profile.recipient_id. These bugs
are particularly sneaky as they can go undetected by tests due to ids of
objects accidentally coinciding. We add a mitigation for this class of
mistakes by shifting the Recipient.id sequence in test db.

This was introduced in dda3ff41e1.
On the rare occasion where user_profile.id would coincide with
recipient_id passed to the function, we would return the wrong value.
That is, instead of correctly returning recipient_id, we would return
sender.recipient_id - recipient id of the sender of the message, thus
possibly returning user_profile.recipient_id (if user_profile is the
sender) - exactly the situation the function wanted to avoid
with the `if recipient_id == my_recipient_id:` if. Ultimately resulting
in incorrect/malformed data in
state['raw_recent_private_conversations'].
2021-02-09 17:45:34 -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 change_subdomain: Create a deactivated realm on updating subdomain. 2021-01-07 14:15:22 -08:00
confirmation urls: Remove unused URL names and shorten others. 2020-09-22 10:46:28 -07:00
corporate logging: Migrate many backend tests to use assertLogs. 2021-02-03 17:55:49 -08:00
docs prod_settings_template: Move LDAP up into authentication, and merge part 1/2. 2021-02-05 17:02:27 -08:00
frontend_tests node tests: Improve copy_data_attribute_value test. 2021-02-09 10:42:33 -05:00
locale i18n: Update translation data from Transifex. 2021-01-19 17:45:13 -08:00
pgroonga migrations: Escape more pedantically in pgroonga.0003_v2_api_upgrade. 2020-06-13 21:50:37 -07:00
puppet puppet: Add Zulip specific postgresql configuration for 13. 2021-02-05 09:30:34 -08:00
requirements requirements: Upgrade moto to 1.3.17.dev230. 2021-01-29 12:02:43 -08:00
scripts provision: Add provision support for Ubuntu 20.10(Groovy). 2021-02-05 09:30:34 -08:00
static api docs: Cleaned up CSS for parameter classes. 2021-02-09 10:31:36 -08: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 dependencies: Replace moment.js with date-fns. 2021-02-05 11:04:32 -08:00
zerver events: Fix bug in get_recent_conversations_recipient_id. 2021-02-09 17:45:34 -08:00
zilencer events: Fix bug in get_recent_conversations_recipient_id. 2021-02-09 17:45:34 -08:00
zproject prod_settings_template: Standardize on no space after the "#" for settings lines. 2021-02-05 17:03:07 -08:00
zthumbor thumbor: Respect S3_ENDPOINT_URL setting. 2020-12-15 18:41:42 -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: Escape strings interpolated into CSS selectors with CSS.escape. 2021-02-04 11:00:06 -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
.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: Fix more capitalization issues. 2020-10-23 11:46:55 -07: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 manage: Quote commands correctly in log_management_command. 2021-01-26 13:26:57 -08:00
mypy.ini mypy: Exclude broken typeshed stubs for markdown. 2020-11-12 15:44:30 -08:00
package.json dependencies: Remove XDate. 2021-02-07 06:41:33 -05: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
setup.cfg lint: Use standard setup.cfg configuration for pycodestyle. 2020-07-14 00:41:20 -07: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 dependencies: Remove XDate. 2021-02-07 06:41:33 -05: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: Remove XDate. 2021-02-07 06:41:33 -05: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: 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.