Go to file
Lauryn Menard 8154b4a9af middleware: Add `client` REQ parameter to `parse_client`.
If an API request specified a `client` parameter, we were
already prioritizing that value over parsing the UserAgent.

In order to have these parameters logged in the `RequestNotes`
as processed parameters instead of ignored parameters, we add
the `has_request_variables` decorator to `parse_client` and
then process the potential `client` parameter through the REQ
framework.

Co-authored by: Tim Abbott <tabbott@zulip.com>
2022-04-08 11:29:33 -07:00
.github ci: Test upgrades from 4.11. 2022-03-15 16:00:02 -07: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 streams: Extract stream_color library. 2022-03-14 18:01:36 -07:00
confirmation invite: Add backend support for "Never expires" option. 2022-02-24 16:32:19 -08:00
corporate requirements: Upgrade Python requirements. 2022-03-16 10:43:23 -07:00
docs docs: Fold FTS index updating into the upgrade step. 2022-04-06 11:01:23 -07:00
frontend_tests shared: Do not throw exception in parse unicode. 2022-04-07 17:23:55 -07:00
locale i18n: Update translation data from Transifex. 2022-03-29 08:11:21 -07:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet puppet: Do not ensure Chrony is running. 2022-03-30 11:37:54 -07:00
requirements requirements: Upgrade Python requirements. 2022-03-24 19:16:52 -07:00
scripts check-database-compatibility: Sort and prettify output. 2022-04-06 14:10:46 -07:00
static shared: Do not throw exception in parse unicode. 2022-04-07 17:23:55 -07:00
stubs/taint mypy: Add types-stripe. 2022-01-23 22:47:30 -08:00
templates portico: Update /features page. 2022-04-07 13:46:05 -07:00
tools timeout: Add test coverage. 2022-04-07 17:26:01 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver middleware: Add `client` REQ parameter to `parse_client`. 2022-04-08 11:29:33 -07:00
zilencer devtools: Remove development-only user creation management commands. 2022-03-21 12:05:59 -07:00
zproject portico: Add Asciidoctor case study. 2022-03-25 17:51:15 -07:00
.browserslistrc browserslist: Stop transpiling for pre-ES2019 browsers. 2022-03-17 15:24:46 -07:00
.codecov.yml
.codespellignore CI: Add Codespell linter. 2021-10-27 16:49:30 -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 js: Fix no-jquery/no-parse-html-literal. 2022-03-17 13:16:34 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore editor: Add `.vscode/extensions.json` file. 2021-10-29 15:47:44 -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: Clarify stages of PR review. 2022-03-25 18:11:18 -07:00
Dockerfile-postgresql docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -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 docs: Update README and installation guide. 2022-03-04 13:59:17 -08:00
SECURITY.md SECURITY.md: Reorder and make clearer how to subscribe to announcements. 2022-01-07 15:56:26 -08:00
Vagrantfile Remove Ubuntu 18.04 support. 2022-01-21 17:26:14 -08:00
babel.config.js browserslist: Stop transpiling for pre-ES2019 browsers. 2022-03-17 15:24:46 -07:00
manage.py manage: Restore `changepassword` back to documented_commands. 2021-06-18 09:11:01 -07:00
package.json password_quality: Switch zxcvbn to zxcvbn-ts. 2022-03-17 15:24:46 -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 black: Bump target-version to py37. 2022-03-25 10:45:37 -07:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -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 version: Update link to blog post for 5.0 release. 2022-04-04 11:58:10 -07:00
webpack.config.ts webpack: Remove LoaderOptionsPlugin. 2021-10-17 07:13:57 -07:00
yarn.lock password_quality: Switch zxcvbn to zxcvbn-ts. 2022-03-17 15:24:46 -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.