Go to file
Sahil Batra a0965d7335 activity: Use setTimeout instead of setInterval.
Instead of using setInterval to call send_presence_to_server
repeatedly, we now simluate setInterval using setTimeout.

This change helps us to avoid the condition likely related to resume
from suspend, when the browser tries to catch up by running a large
number of "missed" copies of the setInterval hook, causing the server
to rate-limit the client.

Fixes #23438.
2022-11-14 12:37:14 -08:00
.github ci: Do not pre-install rabbitmq-server in Docker images. 2022-10-25 14:53:32 -04: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 analytics: Add summary statistic for guest users in realm. 2022-10-17 11:53:59 -07:00
confirmation models: Implicitly type model fields with django-stubs. 2022-10-05 16:15:56 -07:00
corporate portico: Add a page about our values. 2022-11-07 12:27:09 -08:00
docs left_side_userlist: Remove feature from frontend. 2022-11-14 12:23:55 -08:00
frontend_tests activity: Use setTimeout instead of setInterval. 2022-11-14 12:37:14 -08:00
locale i18n: Update translations from Transifex. 2022-11-02 21:35:19 -07:00
pgroonga typing: Use BaseDatabaseSchemaEditor in place of DatabaseSchemaEditor. 2022-05-30 14:18:53 -07:00
puppet puppet: Upgrade puppetlabs libraries. 2022-11-08 13:26:32 -08:00
requirements scim: Upgrade django-scim2; remove request.user monkey patching. 2022-11-05 15:13:50 -07:00
scripts scripts: Pass --retry 3 to curl. 2022-11-08 08:07:36 -08:00
static activity: Use setTimeout instead of setInterval. 2022-11-14 12:37:14 -08:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates left_side_userlist: Remove feature from frontend. 2022-11-14 12:23:55 -08:00
tools tools: Remove obsolete `_set_error_state` method in linter spider. 2022-11-09 11:54:19 -08:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver left_side_userlist: Remove feature from frontend. 2022-11-14 12:23:55 -08:00
zilencer ruff: Fix C413 Unnecessary `list` call around `sorted()`. 2022-11-03 12:10:15 -07:00
zproject middleware: Set the correct options on the django_language cookie. 2022-11-09 14:24:22 -08:00
.browserslistrc zjsunit: Set browserslist target to current Node for Node tests. 2022-05-04 09:56:07 -07:00
.codecov.yml
.codespellignore contributor docs: Add a page on design discussions. 2022-09-30 12:15:04 -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. 2022-10-11 10:50:57 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore lint: Replace pycodestyle and pyflakes with ruff. 2022-11-03 12:10:15 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add entries to deduplicate more contributors. 2022-03-29 12:13:21 -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 docs: Copy Zulip development community intro to Contributing guide. 2022-10-31 10:15:22 -07:00
Dockerfile-postgresql docker: Document the PostgreSQL Dockerfile build steps. 2022-04-26 18:00:00 -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 README: Tweak grammar and minor language details. 2022-09-01 11:57:32 -07:00
SECURITY.md SECURITY.md: Reorder and make clearer how to subscribe to announcements. 2022-01-07 15:56:26 -08:00
Vagrantfile vagrant: Add Fedora 36 support. 2022-09-08 16:12:59 -07:00
babel.config.js dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -07:00
manage.py manage: Remove ineffective Python 2 check. 2022-06-30 11:15:14 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -07: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 ruff: Specify all selected errors. 2022-11-07 22:17:40 -08:00
stylelint.config.js yarn: Add package which allows creating css mixins. 2021-12-09 18:15:18 -08:00
tsconfig.json tsconfig: Enable noImplicitOverride. 2021-09-13 10:10:34 -07:00
version.py scim: Upgrade django-scim2; remove request.user monkey patching. 2022-11-05 15:13:50 -07:00
webpack.config.ts webpack: Add a hook to print a compilation successful message. 2022-09-07 17:30:06 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -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 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.