Go to file
Tim Abbott 10ac671cd4 middleware: Fix logging of query counts in websockets requests.
Apparently, we weren't resetting the query counters inside the
websockets codebase, resulting in broken log results like this:

SOCKET  403   2ms (db: 1ms/2q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   5ms (db: 2ms/3q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   2ms (db: 3ms/4q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   2ms (db: 3ms/5q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   2ms (db: 4ms/6q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   2ms (db: 5ms/7q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   2ms (db: 5ms/8q) /socket/auth [transport=websocket] (unknown via ?)
SOCKET  403   3ms (db: 6ms/9q) /socket/auth [transport=websocket] (unknown via ?)

The correct fix for this is to call reset_queries at the start of each
endpoint within the websockets system.  As it turns out, we're already
calling record_request_start_data there, and in fact should be calling
`reset_queries` in all code paths that use that function (the other
code paths, in zerver/middleware.py, do it manually with
connection.connection.queries = []).

So we can clean up the code in a way that reduces risk for similar
future issues and fix this logging bug with this simple refactor.
2018-10-31 16:22:17 -07:00
.circleci circleci: Add support for Ubuntu Bionic. 2018-06-01 18:02:50 -07:00
.github github: Suggest GIFs too in PR template. 2018-02-16 09:59:22 -08:00
.tx tx config: Update slug for mobile. 2018-06-17 17:32:25 -07:00
analytics billing: Rename Zulip Premium to Zulip Standard. 2018-10-24 10:42:16 -07:00
confirmation confirmation: Removed unused send_email import. 2018-06-16 05:27:04 -07:00
corporate billing: Make mock_stripe handle StripeErrors. 2018-10-30 09:55:13 -07:00
docs docs: Document need to enable Universe repository on Ubuntu. 2018-10-31 11:53:24 -07:00
frontend_tests settings: Warn if server is unable to deliver mobile push notifications. 2018-10-31 13:18:17 -07:00
pgroonga pgroonga: Upgrade to PGroonga 2 API. 2018-05-31 13:00:34 -07:00
puppet puppet: Don't run calculate-first-visible-message-id on most systems. 2018-10-30 11:40:24 -07:00
requirements requirements: Update Django to 1.11.16. 2018-10-31 12:12:25 -07:00
scripts upgrade-zulip-from-git: Support specifying tag or commit ID for refname. 2018-10-23 11:11:08 -07:00
static message view: Hide subscribe button for guest users. 2018-10-31 15:47:01 -07:00
stubs billing: Make mock_stripe handle StripeErrors. 2018-10-30 09:55:13 -07:00
templates settings: Don't show 'Your bots' tab to guest users. 2018-10-31 15:45:17 -07:00
tools plans: Fix broken link from FAQ to import docs and add tests. 2018-10-31 11:44:21 -07:00
zerver middleware: Fix logging of query counts in websockets requests. 2018-10-31 16:22:17 -07:00
zilencer push: Fix exceptions when removing push notifications. 2018-10-12 11:19:23 -07:00
zproject portico: Add security doc to /security. 2018-10-30 19:52:24 -07:00
zthumbor zthumbor: Fix thumbor behaviour when using it with s3 storage. 2018-10-16 16:00:47 -07:00
.codecov.yml Try to avoid codecov spam. 2017-12-29 07:23:26 -05:00
.editorconfig editorconfig: Declare max line lengths for JS/Python code. 2018-08-08 09:48:17 -07:00
.eslintignore zulip_ops: Delete the long-disused `stats1.zulip.net` config and its dependencies. 2017-08-15 17:30:31 -07:00
.eslintrc.json Extract topic_zoom.js. 2018-10-24 16:54:35 -07:00
.gitattributes gitattributes: Treat .ogg files as binary. 2018-04-27 09:59:19 -07:00
.gitignore mypy: Add basic support for invoking dmypy to run-mypy. 2018-05-21 22:41:08 -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
.stylelintrc tools: Add stylelint rule for eliminating hex values in CSS. 2018-10-16 13:14:19 -07:00
.travis.yml travis: Disable most suites in favor of CircleCI! 2018-01-31 11:10:03 -08:00
CODE_OF_CONDUCT.md repository: Add CODE_OF_CONDUCT.md. 2017-06-14 18:43:08 -07:00
CONTRIBUTING.md api docs: Move references to integration-guide to integrations-overview. 2018-10-16 21:06:59 -07:00
Dockerfile-dev locale: Fix incorrect use of locale-gen to generate locales. 2018-10-11 14:42:24 -07:00
Dockerfile-postgresql docker: Add PGroonga support to Postgresql Dockerfile. 2018-05-23 11:53:32 -07: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 README: Document support for Debian and Bionic. 2018-07-01 01:47:03 -07:00
Vagrantfile Vagrantfile: Fix typo in spelling of problems. 2018-06-01 11:58:09 -07:00
manage.py manage.py: Sabotage importing pika.adapters.twisted_connection. 2018-10-17 11:50:08 -07:00
mypy.ini mypy: Add Optional & check in zproject/backends.py; remove from mypy.ini. 2018-10-29 12:53:16 -07:00
package.json build_emoji: Add infrastructure for google-blob and twitter emojisets. 2018-08-31 11:52:24 -07:00
version.py dependencies: Upgrade mypy to version 0.641. 2018-10-24 10:48:05 -07:00
yarn.lock build_emoji: Add infrastructure for google-blob and twitter emojisets. 2018-08-31 11:52:24 -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 300 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

CircleCI Build Status Travis Build Status Coverage Status Mypy coverage 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.