Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Priyank Patel 305a1ac57d node_tests: Don't remove require cache of module in zrequire.
There is good reason to do this (explanation is bit long!). With the
TypeScript migration, and the require and ES6 migrations that come
with it, we use require instead of set_global which loads the entire
module. Suppose we have a util module, which is used by some other
module, say message_store, and util is being required in message_store
since it is removed from window. Then, if a test zrequires
message_store first, and then zrequires the util module qand mocks one
of its methods, it will not be mocked for the message_store
module. The reason is:
 1. zrequire('message_store') leads to require('util').
 2. zrequire('util') removes the util module from cache and it is
    reloaded. Now the util module in message_store and the one in
    the test will be different and any updates to it in tests won't
    be reflected in the actual code.

Which can lead to confusion for folks writing tests. I'll mention this
can be avoided doing zrequire('util') first but...that is not ideal.

And, since there was one outlier test that relied on this behavior,
we add the namespace.reset_module function.
2020-09-01 19:55:58 -07:00
.circleci casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
.github docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics update_analytics_counts: Fix warning output. 2020-08-28 14:24:48 -07:00
confirmation python: Convert more percent formatting to Python 3.6 f-strings. 2020-06-14 23:27:22 -07:00
corporate billing: Show sponsorship message for organization on STANDARD_FREE. 2020-08-24 18:25:01 -07:00
docs docs: Fix node debugging integration anchor. 2020-08-31 21:55:54 -07:00
frontend_tests node_tests: Don't remove require cache of module in zrequire. 2020-09-01 19:55:58 -07:00
locale locale: Fix invalid JSON in locale/tr/translations.json. 2020-08-07 11:12:32 -07:00
pgroonga migrations: Escape more pedantically in pgroonga.0003_v2_api_upgrade. 2020-06-13 21:50:37 -07:00
puppet memcached: Switch from pylibmc to python-binary-memcached. 2020-08-06 12:51:14 -07:00
requirements requirements: Upgrade zulint. 2020-08-24 16:10:10 -07:00
scripts create-db.sql: Ensure using en_US.UTF-8 encoding. 2020-08-24 12:24:38 -07:00
static eslint: Forbid unnecessary path segments in imports. 2020-09-01 16:43:02 -07:00
stubs python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
templates templates: Remove strangely toned text from 404 page. 2020-08-31 16:47:20 -07:00
tools js: Elide .js and .ts extensions from imports and requires. 2020-09-01 16:43:02 -07:00
zerver api: Fix trailing '/' at end of jitsi server url. 2020-09-01 17:29:31 -07:00
zilencer push_notifications: Simplify if device exists checks. 2020-08-31 17:31:41 -07:00
zproject docs: Update many references to Casper. 2020-08-30 17:16:02 -07:00
zthumbor zthumbor: Rename thumbor.conf to thumbor_settings.py. 2020-07-06 18:44:58 -07:00
.browserslistrc dependencies: Remove PhantomJS from development environment. 2020-08-30 17:16:02 -07:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json node_tests: Don't remove require cache of module in zrequire. 2020-09-01 19:55:58 -07:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore tools: Move CI docker images files into tools/ci. 2020-06-29 16:31:43 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg requirements: Upgrade isort. 2020-06-26 22:50:01 -07:00
.mailmap mailmap: Give priority to Vishnu KS's zulip email. 2020-07-31 10:37:49 -07:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.prettierignore lint: Use Prettier for JSON files. 2020-07-24 09:42:56 -07:00
.pyre_configuration pysa: Add basic .pyre_configuration and taint.config for pysa. 2020-06-11 12:57:49 -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
babel.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
CODE_OF_CONDUCT.md docs: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
CONTRIBUTING.md docs: Fix various capitalization errors. 2020-08-11 10:25:52 -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
manage.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
mypy.ini zthumbor: Fix strict_optional errors. 2020-07-06 11:25:48 -07:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
package.json dependencies: Upgrade babel-plugin-rewire-ts to v1.4.0. 2020-09-01 19:55:58 -07:00
postcss.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -07:00
prettier.config.js casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
README.md docs: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
SECURITY.md docs: Create GitHub SECURITY.md file. 2020-06-25 15:23:22 -07:00
setup.cfg lint: Use standard setup.cfg configuration for pycodestyle. 2020-07-14 00:41:20 -07:00
stylelint.config.js stylelint: Enable no-vendor-prefix rules. 2020-08-07 15:17:20 -07:00
tsconfig.json typescript: Enable strictNullChecks. 2020-07-28 11:01:35 -07:00
Vagrantfile vagrant: Add parallels as a provider. 2020-08-14 16:03:51 -07:00
version.py dependencies: Upgrade babel-plugin-rewire-ts to v1.4.0. 2020-09-01 19:55:58 -07:00
webpack.config.ts webpack: Move webpack.config.ts to top level. 2020-09-01 16:43:02 -07:00
yarn.lock dependencies: Upgrade babel-plugin-rewire-ts to v1.4.0. 2020-09-01 19:55:58 -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 code style: prettier 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.