Go to file
Priyank Patel 6ab66ea17a keydown_util: Use Event.key instead of deprecated properties.
The Event.which and Event.keyCode are deprecated as pointed out by
TypeScript intellisense based on the jQuery types. We use Event.key
instead which behaves similarly to Event.which & Event.keyCode for
our use case.

The only difference in functionality by this change is that the vim
keys won't work when Caps Lock is on. This is because, in this case,
the key property will be "J" instead of 'j'. We can fix this by
adding a mapping for this, however, I think we don't want to handle
this case so I left this change out. Tested by trying out the
everywhere keydown_util is used.

Finally, we also turn off the new-cap rule for tests since I think
it fine to only enforce it on real code and exempting test code is
fine.
2021-05-27 23:33:17 -07:00
.github ci: Update CI to test once with custom db name and user. 2021-05-25 13:56:05 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics tests: Consistently use assert_length helper. 2021-05-19 11:55:56 -07:00
confirmation python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
corporate tests: Consistently use assert_length helper. 2021-05-19 11:55:56 -07:00
docs puppet: Pull in pinned puppet modules. 2021-05-27 21:14:48 -07:00
frontend_tests keydown_util: Use Event.key instead of deprecated properties. 2021-05-27 23:33:17 -07:00
locale i18n: Update translation data from Transifex. 2021-05-27 00:13:49 -07:00
pgroonga python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
puppet puppet: Use concat fragments to place port allows next to services. 2021-05-27 21:14:48 -07:00
requirements dependecies: Install python-social-auth with OIDC support. 2021-05-23 13:30:17 -07:00
scripts node_cache: Serialize to structured data before hashing. 2021-05-27 22:47:56 -07:00
static keydown_util: Use Event.key instead of deprecated properties. 2021-05-27 23:33:17 -07:00
stubs requirements: Upgrade mypy to 0.790. 2020-11-12 15:44:30 -08:00
templates registration: Show spinner and disable button while processing. 2021-05-27 22:51:13 -07:00
tools puppet: Pull in pinned puppet modules. 2021-05-27 21:14:48 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver upload: Use get_public_upload_url for export tarballs too. 2021-05-27 23:26:45 -07:00
zilencer rundjangoserver: Filter stdout instead of forking the code. 2021-05-24 18:54:47 -07:00
zproject settings: Support arbitrary database user and dbname. 2021-05-25 13:46:58 -07:00
.browserslistrc browserslist: Drop 0.2% usage threshold to 0.15%. 2020-09-28 10:57:49 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig lint: Add shfmt as a linter. 2020-10-15 15:16:00 -07:00
.eslintignore requirements: Remove Thumbor. 2021-05-06 20:07:32 -07:00
.eslintrc.json keydown_util: Use Event.key instead of deprecated properties. 2021-05-27 23:33:17 -07:00
.gitattributes
.gitignore docs: Fix capitalization mistakes. 2021-05-10 09:57:26 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Document Alya's old email address. 2021-04-01 11:24:03 -07:00
.npmignore
.prettierignore lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.pyre_configuration pysa: Update .pyre_configuration to point to typeshed. 2020-09-22 15:44:47 -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: Remove dead link to citizencodeofconduct.org. 2021-04-09 12:10:42 -07:00
CONTRIBUTING.md docs: Mention GitHub sponsors in contributing guide. 2021-03-23 15:57:25 -07:00
Dockerfile-postgresql docs: Standardize on PostgreSQL, not Postgres. 2020-10-28 11:55:16 -07:00
LICENSE license: Move copyright notice from LICENSE to NOTICE. 2021-02-05 09:28:12 -08:00
NOTICE docs: Bump copyright year. 2021-02-05 09:28:15 -08:00
README.md readme: Add GitHub sponsors badge in README. 2021-03-23 15:56:46 -07:00
SECURITY.md docs: Replace legacy roadmap.md with release lifecycle page. 2021-05-05 09:08:43 -07:00
Vagrantfile shell: Replace ‘which’ utility with ‘command -v’ shell builtin. 2021-05-07 08:54:41 -07:00
babel.config.js i18n: Initialize FormatJS. 2021-04-13 17:41:10 -07:00
manage.py python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
mypy.ini mypy: Enable strict_equality. 2021-04-13 11:18:52 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2021-05-10 18:07:13 -07:00
postcss.config.js styles: Use range context queries to eliminate *_max variables. 2021-02-05 09:23:59 -08:00
prettier.config.js casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
pyproject.toml isort: Move configuration into pyproject.toml. 2021-03-04 18:03:30 -08:00
setup.cfg pycodestyle: Improve comments documenting excludes. 2021-02-12 13:11:25 -08:00
stylelint.config.js styles: Consistently use generic fallback font families. 2021-04-05 15:18:41 -07:00
tsconfig.json dependencies: Add ts-node. 2021-02-22 16:03:10 -08:00
version.py register api: Rename realm_upload_quota. 2021-05-26 11:38:24 -07:00
webpack.config.ts js: Extract password_quality module; remove zxcvbn from globals. 2021-04-24 13:08:52 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2021-05-10 18:07:13 -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 700 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

GitHub Actions build status coverage status Mypy coverage code style: black code style: prettier GitHub release docs Zulip chat Twitter GitHub Sponsors

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.