Go to file
Tim Abbott 911cf46c72 unread: Fix mark all as read when oldest unread message is muted.
As detailed in the comment, the new "mark all as read" bankrupcty code
path would fail to mark as read muted stream messages that are older
than the oldest unread non-muted message.

This was because of the semantics of the `first_unread` anchor value
being actually "fire unmuted unread".

We can just change this to "oldest", because we're already using an
`is:unread` for the narrow query; doing so likely is a small
optimization, since we save the query to compute the first unread.
2022-11-17 10:26:57 -08:00
.github ci: Do not pre-install rabbitmq-server in Docker images. 2022-10-25 14:53:32 -04:00
.tx
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics ruff: Fix N813 camelcase imported as lowercase. 2022-11-16 09:29:11 -08:00
confirmation signup: Implement use of MultiUseInvite.status attribute. 2022-11-14 17:13:16 -08:00
corporate ruff: Fix ANN204 missing return type annotation for __init__. 2022-11-16 09:29:11 -08:00
docs docs: Update changelog with commits staged for 6.0. 2022-11-16 22:21:18 -08:00
frontend_tests compose_ui: Revert changes for replace_syntax done in 1ca4566eb2. 2022-11-17 08:29:11 -08:00
locale i18n: Update translations from Transifex. 2022-11-16 22:53:02 -08:00
pgroonga typing: Use BaseDatabaseSchemaEditor in place of DatabaseSchemaEditor. 2022-05-30 14:18:53 -07:00
puppet tornado: Support sharding by user ID. 2022-11-15 17:27:01 -08:00
requirements requirements: Remove isort. 2022-11-16 09:29:11 -08:00
scripts ruff: Fix N811 constant imported as non-constant. 2022-11-16 09:29:11 -08:00
static unread: Fix mark all as read when oldest unread message is muted. 2022-11-17 10:26:57 -08:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates unread_ops: Let server do the mark as unread for us. 2022-11-17 00:46:26 -08:00
tools ruff: Enable import sorting, replacing isort. 2022-11-16 09:29:11 -08:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver tornado: Disable event compression for mark-as-unread events. 2022-11-17 00:46:26 -08:00
zilencer ruff: Fix C413 Unnecessary `list` call around `sorted()`. 2022-11-03 12:10:15 -07:00
zproject message_flags: Allow updating flags by narrows and anchors. 2022-11-16 21:13:44 -08:00
.browserslistrc zjsunit: Set browserslist target to current Node for Node tests. 2022-05-04 09:56:07 -07:00
.codecov.yml
.codespellignore contributor docs: Add a page on design discussions. 2022-09-30 12:15:04 -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 dependencies: Upgrade JavaScript dependencies. 2022-10-11 10:50:57 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore lint: Replace pycodestyle and pyflakes with ruff. 2022-11-03 12:10:15 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add entry for rht. 2022-11-17 00:05:17 -08:00
.npmignore
.prettierignore prettier: Exclude backend-processed Markdown files. 2021-08-20 23:14:37 -07:00
.pyre_configuration
.sonarcloud.properties
.yarnrc
CODE_OF_CONDUCT.md docs: Apply bullet style changes from Prettier. 2021-09-08 12:06:24 -07:00
CONTRIBUTING.md docs: Copy Zulip development community intro to Contributing guide. 2022-10-31 10:15:22 -07:00
Dockerfile-postgresql docker: Document the PostgreSQL Dockerfile build steps. 2022-04-26 18:00:00 -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 README: Tweak grammar and minor language details. 2022-09-01 11:57:32 -07:00
SECURITY.md SECURITY.md: Reorder and make clearer how to subscribe to announcements. 2022-01-07 15:56:26 -08:00
Vagrantfile vagrant: Add Fedora 36 support. 2022-09-08 16:12:59 -07:00
babel.config.js dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -07:00
manage.py manage: Remove ineffective Python 2 check. 2022-06-30 11:15:14 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -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 ruff: Enable import sorting, replacing isort. 2022-11-16 09:29:11 -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 message_fetch: Add include_anchor parameter. 2022-11-16 21:13:44 -08:00
webpack.config.ts webpack: Add a hook to print a compilation successful message. 2022-09-07 17:30:06 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2022-11-03 14:48:40 -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.