Go to file
Aman Agrawal 2bc3924672 move_topic_to_stream: Allow moving to/between/from private streams.
Fixes #16284.

Most of the work for this was done when we implemented correct
behavior for guest users, since they treat public streams like private
streams anyway.

The general method involves moving the messages to the new stream with
special care of UserMessage.

We delete UserMessages for subs who are losing access to the message.
For private streams with protected history, we also create UserMessage
elements for users who are not present in the old stream, since that's
important for those users to access the moved messages.
2020-09-14 15:00:55 -07:00
.circleci circleci: Replace process substitution with pipe to close a race. 2020-09-03 16:19:49 -07:00
.github dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics urls: Elide str converter, which is the default. 2020-09-12 11:21:40 -07:00
confirmation python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
corporate python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
docs docs: Added PyCharm to the list of editors. 2020-09-12 11:42:22 -07:00
frontend_tests frontend_tests: Fix typo in node_tests/general.js 2020-09-13 21:01:59 -07:00
locale locale: Fix invalid JSON in locale/tr/translations.json. 2020-08-07 11:12:32 -07:00
pgroonga migrations: Escape more pedantically in pgroonga.0003_v2_api_upgrade. 2020-06-13 21:50:37 -07:00
puppet puppet: Restrict postfix incoming addresses to postmaster and zulip. 2020-09-11 18:49:22 -07:00
requirements requirements: Upgrade Python requirements. 2020-09-13 20:59:09 -07:00
scripts check-rabbitmq-queue: Use list_queues output for current backlog size. 2020-09-11 15:51:07 -07:00
static minor: Rename `previously_selected` of message selected event. 2020-09-14 10:56:37 -07:00
stubs python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
templates move_topic_to_stream: Allow moving to/between/from private streams. 2020-09-14 15:00:55 -07:00
tools check-openapi: Disallow siblings of $ref. 2020-09-12 11:57:13 -07:00
zerver move_topic_to_stream: Allow moving to/between/from private streams. 2020-09-14 15:00:55 -07:00
zilencer python: Elide type=str from argparse arguments. 2020-09-03 16:17:14 -07:00
zproject webhooks: Do log non-"unsupported" errors to main logfiles. 2020-09-14 12:58:16 -07:00
zthumbor zthumbor: Rename thumbor.conf to thumbor_settings.py. 2020-07-06 18:44:58 -07:00
.browserslistrc dependencies: Remove PhantomJS from development environment. 2020-08-30 17:16:02 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json eslint: Enable import/no-cycle. 2020-09-02 13:14:39 -07:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore tools: Move CI docker images files into tools/ci. 2020-06-29 16:31:43 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg isort: Enable black profile. 2020-09-02 11:00:07 -07:00
.mailmap mailmap: Give priority to Vishnu KS's zulip email. 2020-07-31 10:37:49 -07:00
.npmignore
.prettierignore lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.pyre_configuration pysa: Add basic .pyre_configuration and taint.config for pysa. 2020-06-11 12:57:49 -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: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
CONTRIBUTING.md docs: Tweak descriptions of zulip-devel-announce and friends. 2020-09-03 17:39:16 -07:00
Dockerfile-postgresql base Zulip PostgreSQL Docker container on PGroonga official one 2019-12-30 10:20:25 -08:00
LICENSE docs: Bump copyright year. 2020-04-23 16:04:54 -07:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
README.md docs: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
SECURITY.md docs: Create GitHub SECURITY.md file. 2020-06-25 15:23:22 -07:00
Vagrantfile vagrant: Add parallels as a provider. 2020-08-14 16:03:51 -07:00
babel.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
manage.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
mypy.ini zthumbor: Fix strict_optional errors. 2020-07-06 11:25:48 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
postcss.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
prettier.config.js casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
setup.cfg lint: Use standard setup.cfg configuration for pycodestyle. 2020-07-14 00:41:20 -07:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
tsconfig.json typescript: Enable strictNullChecks. 2020-07-28 11:01:35 -07:00
version.py requirements: Upgrade Python requirements. 2020-09-13 20:59:09 -07:00
webpack.config.ts webpack: Move webpack.config.ts to top level. 2020-09-01 16:43:02 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -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 500 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

CircleCI branch Coverage Status Mypy coverage code style: prettier GitHub release docs Zulip chat Twitter

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.