Go to file
Steve Howell f2806a0a06 copy/paste: Extract visible_range() to fix error.
When we tried to copy/paste multiple rows up to
and including the last row in our view, we'd have
a blueslip error when the `for` loop checked the
condition `rows.id(row) <= ...` after we had
called `row = rows.next_visible(row)` on the last
row.  Basically, `rows.id()` would complain
about a non-existent row.

Now we extract that code into `visible_range`, so
that our `while` loop can exit as soon as we found
the last row in the range.
2020-04-02 16:57:01 -07:00
.circleci circleci: Comment out focal backend-frontend job. 2020-03-26 13:11:48 -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 tests: Use email/delivery_email more explicitly. 2020-03-19 16:04:03 -07:00
confirmation confirmation: Add database indexes on confirmation fields. 2020-03-27 02:03:05 -07:00
corporate text: Fix some typos (most of them found and fixed by codespell). 2020-03-27 17:25:56 -07:00
docs docs: Update changelog for 2.1.3 release. 2020-04-01 14:01:45 -07:00
frontend_tests tests: Add realm creation test using puppeteer. 2020-04-02 15:37:12 -07: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_processors: Gather statistics on queue worker operations. 2020-04-01 16:44:06 -07:00
requirements requirements: Get transifex-client from apt. 2020-03-26 21:39:04 -07:00
scripts provision: switch Focal to use PGroonga from PPA. 2020-03-31 15:02:31 -07:00
static copy/paste: Extract visible_range() to fix error. 2020-04-02 16:57:01 -07:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates api_docs: Migrate POST /zulip-outgoing-webhook. 2020-04-02 14:55:32 -07:00
tools sgrep: Install syntactic code search tool as an external linter. 2020-04-01 15:08:34 -07:00
zerver api_docs: Migrate POST /zulip-outgoing-webhook. 2020-04-02 14:55:32 -07:00
zilencer populate_db, tests: Restrict emails in zulip realm. 2020-03-19 16:21:31 -07:00
zproject queue_processors: Gather statistics on queue worker operations. 2020-04-01 16:44:06 -07: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: Replace with Map. 2020-02-25 15:37:37 -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: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
CONTRIBUTING.md docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07: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 docs: Convert many http URLs to https. 2020-03-26 21:35:32 -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 setup_path_on_import: Replace with setup_path function. 2020-02-25 15:40:21 -08:00
mypy.ini tornado: Rewrite Django integration to duplicate less code. 2020-02-13 16:13:11 -08:00
package.json provision: Add provision support for puppeteer. 2020-03-22 11:42:14 -07:00
postcss.config.js webpack: Move CSS minification to optimization stage. 2019-09-02 21:58:13 -07:00
tsconfig.json tsconfig: Disable automatic inclusion of type packages. 2020-03-26 17:07:50 -07:00
version.py version: Update for Desktop 5.0.0 release. 2020-04-01 22:59:30 -07:00
yarn.lock provision: Add provision support for puppeteer. 2020-03-22 11:42:14 -07: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.