Go to file
Pragati Agrawal bd9b74436c org settings: Enable message_retention_days in org settings UI.
Since production testing of `message_retention_days` is finished, we can
enable this feature in the organization settings page. We already had this
setting in frontend but it was bit rotten and not rendered in templates.

Here we replaced our past text-input based setting with a
dropdown-with-text-input setting approach which is more consistent with our
existing UI.

Along with frontend changes, we also incorporated a backend change to
handle making retention period forever. This change introduces a new
convertor `to_positive_or_allowed_int` which only allows positive integers
and an allowed value for settings like `message_retention_days` which can
be a positive integer or has the value `Realm.RETAIN_MESSAGE_FOREVER` when
we change the setting to retain message forever.

This change made `to_not_negative_int_or_none` redundant so removed it as
well.

Fixes: #14854
2020-05-08 14:09:31 -07:00
.circleci ci: bugfix: Don't restore emoji cache on prod. 2020-04-30 10:52:50 -07:00
.github github: Suggest GIFs too in PR template. 2018-02-16 09:59:22 -08:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics org settings: Enable message_retention_days in org settings UI. 2020-05-08 14:09:31 -07:00
confirmation python: Convert assignment type annotations to Python 3.6 style. 2020-04-22 11:02:32 -07:00
corporate logging: Pass format arguments to unconventionally-named loggers too. 2020-05-02 16:37:07 -07:00
docs docs: Remove unnecessary double-backticks in indented line. 2020-05-05 21:28:00 -07:00
frontend_tests org settings: Enable message_retention_days in org settings UI. 2020-05-08 14:09:31 -07:00
locale i18n: Update translation data from Transifex. 2020-05-07 16:09:16 -07:00
pgroonga migrate: Improve do_batch_update escaping correctness with psycopg2.sql. 2020-05-04 09:33:03 -07:00
puppet puppet: Remove unnecssary/broken ;. 2020-05-07 16:23:37 -07:00
requirements lint: Check docs/THIRDPARTY for format errors. 2020-05-02 10:10:22 -07:00
scripts logging: Pass format arguments to logging. 2020-05-02 10:18:02 -07:00
static org settings: Enable message_retention_days in org settings UI. 2020-05-08 14:09:31 -07:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates invite emails: Ensure user-controlled input is always in links. 2020-05-08 14:02:41 -07:00
tools droplets: Add instruction to create a new base image. 2020-05-07 17:09:05 -07:00
zerver org settings: Enable message_retention_days in org settings UI. 2020-05-08 14:09:31 -07:00
zilencer urls: Migrate zilencer urls to use modern django pattern. 2020-05-07 16:28:58 -07:00
zproject droplets: Set the hostname correctly using cloud-init. 2020-05-07 17:09:05 -07:00
zthumbor thumbor: Fix __file__ typo. 2020-04-12 11:23:03 -07:00
.browserslistrc webpack: Transpile JS code with Babel. 2019-07-22 17:55:32 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig .editorconfig: Add .scss, .hbs; drop weirder rules. 2020-04-22 15:03:08 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json settings: Extract settings_list_widget.js. 2020-04-22 17:57:16 -07:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore i18n: Move static/locale back to locale. 2019-07-02 14:57:55 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg tornado: Fix logging of tornado activity level. 2018-04-17 15:59:01 -07:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.stylelintrc lint: Ban color names in CSS. 2019-01-22 15:33:18 -08:00
.yarnrc .yarnrc: Set ignore-scripts true. 2019-08-28 16:15:54 -07:00
CODE_OF_CONDUCT.md docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
CONTRIBUTING.md docs: Convert many http URLs to https. 2020-03-26 21:35:32 -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: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
Vagrantfile Revert "vagrant: Add NFS backend for file synchronization for OSX." 2019-08-12 16:04:00 -07:00
babel.config.js babel: Enable loose mode. 2020-02-05 11:52:52 -08:00
manage.py python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
mypy.ini mypy: Add specific codes to type: ignore annotations. 2020-04-22 10:46:33 -07:00
package.json check-openapi: Restore functionality after OpenAPI definitions moved. 2020-04-21 16:11:56 -07:00
postcss.config.js webpack: Move CSS minification to optimization stage. 2019-09-02 21:58:13 -07:00
tsconfig.json tsconfig: Disable automatic inclusion of type packages. 2020-03-26 17:07:50 -07:00
version.py invite emails: Ensure user-controlled input is always in links. 2020-05-08 14:02:41 -07:00
yarn.lock dependencies: Patch spectrum-colorpicker for jQuery 3.5 compatibility. 2020-04-19 11:49:31 -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 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.