Go to file
Steve Howell b46c8d1dc3 typeahead: Avoid tracebacks due to navbar changes.
In our recent navbar changes, we made it so that the
Esc key auto-closed the navbar. Unfortunately,
that code would break other typeaheads with a traceback.

One user-facing symptom was that if you drafted a PM
and started a typeahead on a recipient, then hitting
the Esc key wouldn't close the typeahead.

Now we use an `on_escape` mechanism that is specific
to the navbar typeahead, so that it's both generic and
harder to break for widgets that don't opt in to it.

See bbdc66a214 for
more details on the commit that introduced this
regression.

Note that I only call `tab_bar.exit_search` now.
I don't check the class name of the input element,
since I know that the Esc key is happening in the
context of search.  And I don't blur the input,
since it's going to be hidden.
2020-05-06 13:25:49 -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 logging: Pass format arguments to logging. 2020-05-02 10:18:02 -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 casper: Fix invalid check in 00-realm-creation. 2020-05-06 10:54:48 -07:00
locale i18n: Update translation data from transifex. 2019-12-12 20:34:46 -08:00
pgroonga migrate: Improve do_batch_update escaping correctness with psycopg2.sql. 2020-05-04 09:33:03 -07:00
puppet retention: Add a daily cron job. 2020-05-05 10:11:38 -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 typeahead: Avoid tracebacks due to navbar changes. 2020-05-06 13:25:49 -07:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates docs: Fix typo in message-retention-policy.md. 2020-05-06 13:21:00 -07:00
tools populate_db: Add option to specify max no of topics to create. 2020-05-04 09:41:31 -07:00
zerver soft_deactivation: Fix buggy error handling. 2020-05-06 10:46:54 -07:00
zilencer populate_db: Generate topics using config fixture. 2020-05-05 16:11:09 -07:00
zproject logging: Pass format arguments to unconventionally-named loggers too. 2020-05-02 16:37:07 -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
.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 settings: Offer hiding presence info from other users. 2020-05-02 15:09:05 -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.