Go to file
Alex Vandiver f00ff1ef62 middleware: Make HostDomain into a process_request, not process_response.
It is more suited for `process_request`, since it should stop
execution of the request if the domain is invalid.  This code was
likely added as a process_response (in ea39fb2556) because there was
already a process_response at the time (added 7e786d5426, and no
longer necessary since dce6b4a40f).

It quiets an unnecessary warning when logging in at a non-existent
realm.

This stops performing unnecessary work when we are going to throw it
away and return a 404.  The edge case to this is if the request
_creates_ a realm, and is made using the URL of the new realm; this
change would prevent the request before it occurs. While this does
arise in tests, the tests do not reflect reality -- real requests to
/accounts/register/ are made via POST to the same (default) realm,
redirected there from `confirm-preregistrationuser`.  The tests are
adjusted to reflect real behavior.

Tweaked by tabbott to add a block comment in HostDomainMiddleware.
2020-08-11 10:37:55 -07:00
.circleci ci: Remove confused references to test-event-log. 2020-07-24 12:42:08 -07:00
.github docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics counts: Create 7day_actives::day counstat. 2020-08-10 17:22:19 -07:00
confirmation python: Convert more percent formatting to Python 3.6 f-strings. 2020-06-14 23:27:22 -07:00
corporate docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
docs docs: Correct “login” as a verb to “log in”. 2020-08-11 10:25:53 -07:00
frontend_tests docs: Fix capitalization of keyboard keys. 2020-08-11 10:25:53 -07: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 memcached: Switch from pylibmc to python-binary-memcached. 2020-08-06 12:51:14 -07:00
requirements docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
scripts docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
static docs: Fix capitalization of keyboard keys. 2020-08-11 10:25:53 -07:00
stubs pysa: Introduce sanitizers, models, and inline marking safe. 2020-06-11 12:57:49 -07:00
templates docs: Correct “login” as a verb to “log in”. 2020-08-11 10:25:53 -07:00
tools docs: Capitalize Markdown consistently. 2020-08-11 10:23:06 -07:00
zerver middleware: Make HostDomain into a process_request, not process_response. 2020-08-11 10:37:55 -07:00
zilencer memcached: Switch from pylibmc to python-binary-memcached. 2020-08-06 12:51:14 -07:00
zproject docs: Correct “login” as a verb to “log in”. 2020-08-11 10:25:53 -07:00
zthumbor zthumbor: Rename thumbor.conf to thumbor_settings.py. 2020-07-06 18:44:58 -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 lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json refactor: Extract `set_up_typeahead_on_pills` to a new file. 2020-08-04 15:58:12 -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 requirements: Upgrade isort. 2020-06-26 22:50:01 -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: Add basic .pyre_configuration and taint.config for pysa. 2020-06-11 12:57:49 -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: Fix various capitalization errors. 2020-08-11 10:25:52 -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 Revert "vagrant: Add installation support for MacOS 10.15.6." 2020-08-10 12:10:15 -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 styles: Enable most stylelint-config-standard rules. 2020-08-04 16:34:19 -07:00
postcss.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
prettier.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
setup.cfg lint: Use standard setup.cfg configuration for pycodestyle. 2020-07-14 00:41:20 -07:00
stylelint.config.js stylelint: Enable no-vendor-prefix rules. 2020-08-07 15:17:20 -07:00
tsconfig.json typescript: Enable strictNullChecks. 2020-07-28 11:01:35 -07:00
version.py memcached: Switch from pylibmc to python-binary-memcached. 2020-08-06 12:51:14 -07:00
yarn.lock styles: Enable most stylelint-config-standard rules. 2020-08-04 16:34:19 -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.