Go to file
sahil839 0d2d7d31e2 admin users: Simplify logic for last active date.
We now:

    - Skip the broken "Never" case.  (The way
      we were distinguishing "Unknown" from
      "Never" was based on brittle checks that
      were just wrong due to bitrot--see Steve
      Shank on czo as an example.  If we want
      to make this distinction rigorous in the
      future, we should have a clear mechanism.
      If somebody's never actually been active,
      we probably want to treat that more like
      a dead-on-arrival login, anyway, and make
      it easy to clean them up.)

    - Use the `presence.last_active_date` instead
      of reaching into private data structures.

    - Avoid the unnecessary intermediate constants
      of LAST_ACTIVE_NEVER and LAST_ACTIVE_UNKOWN.

    - Avoid setting `last_active` in `populate_users`.

This commit was modified by @showell:

    - I cleaned up the commit message.

    - I simplified the diff a bit to avoid
      some renaming and lexical moves.
2020-04-15 15:13:26 -07:00
.circleci circleci: Update venv cache prefix based on thumbor-dev.txt. 2020-04-05 13:45:25 -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 python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
confirmation python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
corporate python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
docs settings: Harden session and CSRF cookies with __Host- prefix. 2020-04-12 11:55:55 -07:00
frontend_tests list_render: Remove data-list-render markup. 2020-04-15 15:13:26 -07:00
locale i18n: Update translation data from transifex. 2019-12-12 20:34:46 -08:00
pgroonga python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
puppet static: Serve webpack bundles from the root domain. 2020-04-10 00:48:02 -07:00
requirements requirements: Get transifex-client from apt. 2020-03-26 21:39:04 -07:00
scripts inline_email_css: Simplify parsing of template names. 2020-04-10 15:52:52 -07:00
static admin users: Simplify logic for last active date. 2020-04-15 15:13:26 -07:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates help: Add KaTeX links explaining how our LaTeX formatting works. 2020-04-13 15:55:39 -07:00
tools test-backend: Remove rate_limiter from not_yet_fully_covered. 2020-04-15 11:20:37 -07:00
zerver api_docs: Move /rest-error-handling examples. 2020-04-15 12:17:50 -07:00
zilencer python: Modernize legacy Python 2 syntax with pyupgrade. 2020-04-09 16:43:22 -07:00
zproject settings: Harden session and CSRF cookies with __Host- prefix. 2020-04-12 11:55:55 -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: Set JS max_line_length = 100, to match eslintrc. 2019-10-14 17:32:38 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json dict: Replace with Map. 2020-02-25 15:37:37 -08: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
.travis.yml ci: Move backend and production tests to Ubuntu 16.04 (xenial). 2019-05-24 17:07:15 -07: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 license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -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 tornado: Rewrite Django integration to duplicate less code. 2020-02-13 16:13:11 -08:00
package.json provision: Add provision support for puppeteer. 2020-03-22 11:42:14 -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 version: Update for Desktop 5.0.0 release. 2020-04-01 22:59:30 -07:00
yarn.lock provision: Add provision support for puppeteer. 2020-03-22 11:42:14 -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.