Go to file
Alex Vandiver c0e240277b tornado: Remove fingerprinting, write out .tmp files always.
Fingerprinting the config is somewhat brittle -- it requires either
custom bootstrapping for old (fingerprint-less) configs, and may have
false-positives.

Since generating the config is lightweight, do so into the .tmp files,
and compare the output to the originals to determine if there are
changes to apply.

In order to both surface errors, as well as notify the user in case a
restart is necessary, we must run it twice.  The `onlyif`
functionality cannot show configuration errors to the user, only
determine if the command runs or not.  We thus run the command once,
judging errors as "interesting" enough to run the actual command,
whose failure will be verbose in Puppet and halt any steps that depend
on it.

Removing the `onlyif` would result in `stage_updated_sharding` showing
up in the output of every Puppet run, which obscures the important
messages it displays when an update to sharding is necessary.
Removing the `command` (e.g. making it an `echo`) would result in
removing the ability to report configuration errors.  We thus have no
choice but to run it twice; this is thankfully low-overhead.
2020-09-25 10:52:40 -07:00
.circleci circleci: Put the branch name into the topic on failure. 2020-09-18 10:37:56 -07:00
.github dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics rest: Add rest_path shortcut for path with rest_dispatch. 2020-09-22 10:51:00 -07:00
confirmation urls: Remove unused URL names and shorten others. 2020-09-22 10:46:28 -07:00
corporate stripe: Change `assert_called` to `assert_called_once`. 2020-09-23 15:29:47 -07:00
docs rest: Add rest_path shortcut for path with rest_dispatch. 2020-09-22 10:51:00 -07:00
frontend_tests js: Use destructuring for require statements. 2020-09-23 09:06:07 -04:00
locale locale: Fix invalid JSON in locale/tr/translations.json. 2020-08-07 11:12:32 -07:00
pgroonga migrations: Escape more pedantically in pgroonga.0003_v2_api_upgrade. 2020-06-13 21:50:37 -07:00
puppet tornado: Remove fingerprinting, write out .tmp files always. 2020-09-25 10:52:40 -07:00
requirements dependencies: Add dependency on pyre-check for running Pysa. 2020-09-22 15:44:47 -07:00
scripts tornado: Remove fingerprinting, write out .tmp files always. 2020-09-25 10:52:40 -07:00
static dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -07:00
stubs python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
templates urls: Remove unused URL names and shorten others. 2020-09-22 10:46:28 -07:00
tools dependencies: Downgrade simplebar to 5.2.1. 2020-09-24 16:13:47 -07:00
zerver populate_db: Add emoji reactions to development environment database. 2020-09-23 16:10:37 -07:00
zilencer populate_db: Add emoji reactions to development environment database. 2020-09-23 16:10:37 -07:00
zproject urls: Remove raw string syntax on one line. 2020-09-22 15:28:12 -07:00
zthumbor zthumbor: Rename thumbor.conf to thumbor_settings.py. 2020-07-06 18:44:58 -07:00
.browserslistrc dependencies: Remove PhantomJS from development environment. 2020-08-30 17:16:02 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig styles: Rename .scss files back to .css. 2020-09-15 16:33:28 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json eslint: Enable import/no-cycle. 2020-09-02 13:14:39 -07: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: Tweak descriptions of zulip-devel-announce and friends. 2020-09-03 17:39:16 -07:00
Dockerfile-postgresql base Zulip PostgreSQL Docker container on PGroonga official one 2019-12-30 10:20:25 -08:00
LICENSE docs: Bump copyright year. 2020-04-23 16:04:54 -07:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
README.md docs: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
SECURITY.md docs: Create GitHub SECURITY.md file. 2020-06-25 15:23:22 -07:00
Vagrantfile vagrant: Add parallels as a provider. 2020-08-14 16:03:51 -07:00
babel.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
manage.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
mypy.ini zthumbor: Fix strict_optional errors. 2020-07-06 11:25:48 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -07:00
postcss.config.js styles: Rename .scss files back to .css. 2020-09-15 16:33:28 -07: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 typescript: Enable strictNullChecks. 2020-07-28 11:01:35 -07:00
version.py dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -07:00
webpack.config.ts styles: Rename .scss files back to .css. 2020-09-15 16:33:28 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -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 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.