Go to file
Sahil Batra 6ac9386a29 models: Add related_name to UserGroup and UserGroupMembership fields.
This commit adds related_name parameter to UserGroup.direct_members
such that we can use direct_groups instead of the default
usergroupmembership_set for getting all the groups of which the
user is direct member.

This commit also sets related_name of UserGroupMembership.user_group
and UserGroupMembership.user_profile to "+" which means that we will
not be having backward relations for these. This change is correct
since we would need to use the recursive queries to get all the
groups of a user and all the members of a group after we add the
subgroups concept in next commit. This leads to us using direct_members
field of UserGroup instead of usergroupmembership_set in mention code,
but this will soon be replaced with the recursive query function to
include subgroup's members as well.

Extracted this commit from #19866.

Authored-by : Anders Kaseorg <anders@zulip.com>
2021-10-13 10:08:06 -07:00
.github github: Ignore CodeQL analysis in private repos. 2021-09-30 18:07:20 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics analytics/support: Add ability to edit realm org type. 2021-10-07 14:08:11 -07:00
confirmation migrations: Add progress output to confirmation backfill. 2021-09-17 11:23:32 -07:00
corporate test_stripe: Fix broken test in previous commit. 2021-10-01 17:37:27 -07:00
docs docs: Improve documentation on syncing UserProfile bool flags via ldap. 2021-10-06 17:38:56 -07:00
frontend_tests node_tests: Import templates.js only once for all tests. 2021-10-13 09:49:32 -07:00
locale i18n: Update translation data from Transifex. 2021-09-16 13:18:19 -07:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet puppet: Add WSGIApplicationGroup config to Apache SSO example. 2021-10-08 15:07:23 -07:00
requirements dependencies: Add django-cte dependency. 2021-10-12 13:57:20 -07:00
scripts install-node: Stop using NVM. 2021-09-24 06:58:32 -07:00
static subscription_settings: Make the `+` button more visible. 2021-10-12 15:38:47 -07:00
stubs thumbnail: Remove unused is_camo_url parameter. 2021-08-19 01:51:37 -07:00
templates user_settings: Add send_read_receipts setting. 2021-10-07 17:46:05 -07:00
tools user_settings: Add send_read_receipts setting. 2021-10-07 17:46:05 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver models: Add related_name to UserGroup and UserGroupMembership fields. 2021-10-13 10:08:06 -07:00
zilencer push_notifs: Log the number of devices notification was sent to. 2021-09-29 15:50:06 -07:00
zproject message_edit: Allow spectators to access raw message content. 2021-09-28 10:07:36 -07:00
.browserslistrc browserslist: Drop 0.2% usage threshold to 0.15%. 2020-09-28 10:57:49 -07:00
.codecov.yml
.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 eslint: Enable @typescript-eslint/recommended-requiring-type-checking. 2021-09-22 18:06:06 -07:00
.gitattributes
.gitignore ci: Update outdated comments, documentation and gitignore. 2021-07-22 14:09:01 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add mailmap entry for Sahil Batra. 2021-07-21 10:46:34 -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: Format Markdown with Prettier. 2021-09-08 12:06:24 -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: Apply sentence single-spacing from Prettier. 2021-09-08 12:06:24 -07:00
SECURITY.md docs: Apply sentence single-spacing from Prettier. 2021-09-08 12:06:24 -07:00
Vagrantfile Vagrantfile: Move inline provision script to a separate file. 2021-09-14 10:22:48 -07:00
babel.config.js i18n: Initialize FormatJS. 2021-04-13 17:41:10 -07:00
manage.py manage: Restore `changepassword` back to documented_commands. 2021-06-18 09:11:01 -07:00
package.json ts: Convert sub_store module to TypeScript. 2021-09-15 17:19:39 -07:00
postcss.config.js postcss: Cleanly import flatpickr dark theme. 2021-09-13 17:12:49 -07:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml dependencies: Add django-cte dependency. 2021-10-12 13:57:20 -07:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -08:00
stylelint.config.js portico: Add /for/education, /for/events, /for/research pages. 2021-07-20 22:37:52 -07:00
tsconfig.json tsconfig: Enable noImplicitOverride. 2021-09-13 10:10:34 -07:00
version.py dependencies: Add django-cte dependency. 2021-10-12 13:57:20 -07:00
webpack.config.ts webpack: Upgrade to Webpack 5. 2021-09-14 17:02:03 -07:00
yarn.lock ts: Convert sub_store module to TypeScript. 2021-09-15 17:19:39 -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 700 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

GitHub Actions build status coverage status Mypy coverage code style: black code style: prettier GitHub release docs Zulip chat Twitter GitHub Sponsors

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.