Go to file
Hardik Dharmani aab252f657 user_topics: Update user_topics.js to include all visibility policies.
Updated user_topics.js to include all visibility policies
rather than just mute/inherit visibility policies.

Replaced muted_topics Map with `all_user_topics` Map which has
structure: {stream_id:{topic_name:{date_updated,visibility_policy}}}.

Removed add_muted_topic, remove_muted_topic functions which were
adding/removing topics in muted_topics Map. Added new function
update_user_topics which take parameter stream_id, topic,
visibility_policy, and date_updated(optional) which adds a topic
to all_user_topics with date_updated and visibility_policy,
if visibility_policy is not equal to inherit.
else, removes topic from all_user_topics.

Added get_topic_visibility_policy which returns visibility_policy
if stream_id is not undefined else return false.

Added 2 helper functions is_topic_muted and is_topic_unmuted which
uses get_topic_visibility_policy and return true if topic is
muted and unmuted respectively else return false.

Replaced switch case statement which was using add_muted_topic
and remove_muted_topic functions in set_user_topic with new function
update_user_topics.

Fixes #24244
2023-04-11 09:51:01 -07:00
.github ci: Enable XML coverage report to fix Codecov uploads. 2023-03-31 15:51:43 -07:00
.tx provision: Replace transifex-client with new transifex-cli. 2022-12-13 12:34:08 -08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics support: Add option to upgrade an org to Plus plan on /activity/support. 2023-04-10 17:32:45 -07:00
api_docs backend-auth: Add user ID to fetch api key responses. 2023-04-04 10:54:49 -07:00
confirmation registration: Create PreregistrationRealm object when creating realm. 2023-03-27 15:44:42 -07:00
corporate portico: Fix incorrect fallback contributors data type. 2023-03-27 22:33:54 -07:00
docs puppet: Rotate access log files every day, not at 500M. 2023-04-06 14:31:16 -04:00
help stream_privacy: Use new lock and hashtag icons. 2023-04-10 23:41:30 -07:00
locale i18n: Update translation data from Transifex. 2023-03-15 15:57:26 -07:00
pgroonga migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
puppet puppet: Rotate access log files every day, not at 500M. 2023-04-06 14:31:16 -04:00
requirements requirements: Upgrade Django to 4.2. 2023-04-06 17:58:44 -07:00
scripts puppet: Rotate access log files every day, not at 500M. 2023-04-06 14:31:16 -04:00
static email: Rewrite followup_day2 email. 2023-04-10 17:44:18 -07:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates email: Rewrite followup_day2 email. 2023-04-10 17:44:18 -07:00
tools user_topics: Use new API endpoint to update topics_visibility_policy. 2023-04-11 09:51:01 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
web user_topics: Update user_topics.js to include all visibility policies. 2023-04-11 09:51:01 -07:00
zerver user_groups: Add allow_nobody_group to access_user_group_for_setting. 2023-04-11 09:02:09 -07:00
zilencer python: Update tuple handling pattern; returned by a delete() query. 2023-03-27 16:18:23 -07:00
zproject middleware: Remove ZulipCommonMiddleware patch. 2023-04-07 09:13:20 -07:00
.codecov.yml
.codespellignore codespell: Fix newly found typos. 2023-04-03 22:39:21 -07:00
.editorconfig editorconfig: Restore indent_size = 2 for Markdown. 2021-08-20 23:14:37 -07:00
.eslintignore web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08:00
.eslintrc.json eslint: Loosen no-use-before-define for TS like we do for JS. 2023-03-25 09:40:57 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.gitlint gitlint-rules: Rename to gitlint_rules. 2023-03-03 18:02:38 -08:00
.mailmap mailmap: Add entry for rht. 2022-11-17 00:05:17 -08:00
.npmignore
.npmrc dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.prettierignore dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.pyre_configuration pysa: Update .pyre_configuration to point to typeshed. 2020-09-22 15:44:47 -07:00
.readthedocs.yaml readthedocs: Add a configuration file. 2023-02-03 16:36:54 -08:00
.sonarcloud.properties
CODE_OF_CONDUCT.md contributor docs: Add guidelines on moderating the Zulip community. 2022-12-02 16:57:41 -08:00
CONTRIBUTING.md docs: Remove paragraph about getting help finding issues in contributing. 2023-01-17 14:51:53 -08: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: Update Ruff badge. 2023-03-21 11:46:20 -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
manage.py ruff: Fix SIM102 nested `if` statements. 2023-01-23 11:18:36 -08:00
package.json dependencies: Upgrade JavaScript dependencies. 2023-04-04 10:54:01 -07:00
pnpm-lock.yaml dependencies: Upgrade JavaScript dependencies. 2023-04-04 18:27:11 -07:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml requirements: Upgrade Python requirements. 2023-04-03 22:39:21 -07:00
stylelint.config.js web: Use `uri` instead of `url`. 2023-04-10 10:26:48 -07:00
tsconfig.json ts: Convert `emoji.js` to TypeScript. 2023-04-05 10:29:01 -07:00
version.py requirements: Upgrade Django to 4.2. 2023-04-06 17:58:44 -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 Ruff 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.