Go to file
Steve Howell 0777cd73bb stream edit: Extract stream_subscribers_ui.js.
This is a fairly straightforward extraction.

It's good to test this with Iago, and then go into
Manage Streams and add/remove subscribers for a stream
like devel.

I copy/pasted two small functions that will soon
diverge from stream_edit. The get_stream_id function
will either use a module variable (since we're
generally only editing subscribers for one stream, and
we already have the singleton assumption with
`input_pill`) or a more strict CSS selector.  And then
get_sub_for_target depends on get_stream_id. We may not
always need full subs, anyway, and when we adapt some
of this code for creating streams, things are likely to
change.

I stopped exporting a couple functions that have no
callers outside of this module.

The main entry point for the module is
enable_subscriber_management.

We continue to export invite_user_to_stream and
remove_user_from_stream, which should possibly be just
pulled into their own module to lessen some
dependencies, but they don't have too much baggage,
since they just wrap channel calls.
2021-12-30 11:36:52 -08:00
.github puppet: process_fts_updates connects as nagios (or provided username). 2021-12-14 14:48:53 -08: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 actions: Rename do_change_plan_type -> do change_realm_plan_type. 2021-12-06 16:18:53 -08:00
confirmation lint: Enforce consistent style of using transaction.atomic decorator. 2021-12-12 11:15:33 -08:00
corporate remote_server: Migrate RemoteZulipServer.uuid to be UUIDField. 2021-12-28 10:11:34 -08:00
docs docs: Fix a few typos in documentation. 2021-12-28 09:36:59 -08:00
frontend_tests stream edit: Extract stream_subscribers_ui.js. 2021-12-30 11:36:52 -08:00
locale i18n: Update translation data from Transifex. 2021-12-03 16:04:23 -08:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet puppet: Add aarch64 build hashes to external dependencies. 2021-12-29 16:35:15 -08:00
requirements requirements: Upgrade Python requirements. 2021-12-29 16:48:47 -08:00
scripts install: Try apt-get update if the Ubuntu universe check fails. 2021-12-16 17:56:23 -08:00
static stream edit: Extract stream_subscribers_ui.js. 2021-12-30 11:36:52 -08:00
stubs billing: Enforce the Stripe API version is in sync with billing system. 2021-11-05 17:23:10 -07:00
templates mypy: Add EmojiInfo type. 2021-12-30 11:28:14 -08:00
tools stream edit: Extract stream_subscribers_ui.js. 2021-12-30 11:36:52 -08:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver performance: Cache stream lookups in MentionBackend. 2021-12-30 11:28:15 -08:00
zilencer remote_server: Migrate RemoteZulipServer.uuid to be UUIDField. 2021-12-28 10:11:34 -08:00
zproject webhooks/jira: Handle anomalous payloads properly. 2021-12-28 10:56:25 -08:00
.browserslistrc browserslist: Drop 0.2% usage threshold to 0.15%. 2020-09-28 10:57:49 -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 dependencies: Upgrade JavaScript dependencies. 2021-12-03 14:33:53 -08:00
.gitattributes git: Suppress diffs by default on giant Stripe API fixtures 2021-12-06 11:36:49 -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 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 external links: Migrate the rest of /developer-community links. 2021-12-09 12:14:26 -08: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 external links: Migrate the rest of /developer-community links. 2021-12-09 12:14:26 -08: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 yarn: Add package which allows creating css mixins. 2021-12-09 18:15:18 -08: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 rate_limit: Add a flag to lump all TOR exit node IPs together. 2021-11-16 11:42:00 -08: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 mypy: Add EmojiInfo type. 2021-12-30 11:28:14 -08:00
webpack.config.ts webpack: Remove LoaderOptionsPlugin. 2021-10-17 07:13:57 -07:00
yarn.lock yarn: Add package which allows creating css mixins. 2021-12-09 18:15:18 -08: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.