Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Steve Howell 8315eee046 message edit: Handle escape key more nicely.
We now handle the esc key completely within the
keydown handler that we already have for message
editing.  We allow escape to work no matter what
the focused element is within an edited message,
and we blur that element properly and end the
edit.

We remove all the strange, duplicated logic
from hotkey.js.

This should also fix a blueslip error where the
hotkey code was passing message_edit a jQuery
element with zero length.

Fixes the traceback reported in #14151, though we should still look at
the DOM cleanup discussed there.
2020-04-02 14:32:11 -07:00
.circleci circleci: Comment out focal backend-frontend job. 2020-03-26 13:11:48 -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 tests: Use email/delivery_email more explicitly. 2020-03-19 16:04:03 -07:00
confirmation confirmation: Add database indexes on confirmation fields. 2020-03-27 02:03:05 -07:00
corporate text: Fix some typos (most of them found and fixed by codespell). 2020-03-27 17:25:56 -07:00
docs docs: Update changelog for 2.1.3 release. 2020-04-01 14:01:45 -07:00
frontend_tests stream edit: Fix real-time sync of stream notification setting. 2020-04-01 14:40:41 -07:00
locale i18n: Update translation data from transifex. 2019-12-12 20:34:46 -08:00
pgroonga python: Sort migrations/management command imports with isort. 2020-01-14 13:07:47 -08:00
puppet queue_processors: Gather statistics on queue worker operations. 2020-04-01 16:44:06 -07:00
requirements requirements: Get transifex-client from apt. 2020-03-26 21:39:04 -07:00
scripts provision: switch Focal to use PGroonga from PPA. 2020-03-31 15:02:31 -07:00
static message edit: Handle escape key more nicely. 2020-04-02 14:32:11 -07:00
stubs mypy: Remove daemon mode. 2019-08-25 15:04:12 -07:00
templates bankruptcy: Migrate from modal view to top-of-page panel. 2020-03-31 15:30:37 -07:00
tools sgrep: Install syntactic code search tool as an external linter. 2020-04-01 15:08:34 -07:00
zerver queue_processors: Gather statistics on queue worker operations. 2020-04-01 16:44:06 -07:00
zilencer populate_db, tests: Restrict emails in zulip realm. 2020-03-19 16:21:31 -07:00
zproject queue_processors: Gather statistics on queue worker operations. 2020-04-01 16:44:06 -07:00
zthumbor zthumbor: Clean up type ignores. 2019-08-09 17:42:33 -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
babel.config.js babel: Enable loose mode. 2020-02-05 11:52:52 -08: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
manage.py setup_path_on_import: Replace with setup_path function. 2020-02-25 15:40:21 -08:00
mypy.ini tornado: Rewrite Django integration to duplicate less code. 2020-02-13 16:13:11 -08:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07: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
README.md docs: Convert many http URLs to https. 2020-03-26 21:35:32 -07:00
tsconfig.json tsconfig: Disable automatic inclusion of type packages. 2020-03-26 17:07:50 -07:00
Vagrantfile Revert "vagrant: Add NFS backend for file synchronization for OSX." 2019-08-12 16:04:00 -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

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.