Go to file
Steve Howell 4de2b78c25 github refactor: Add Helper class.
The Helper class will soon grow, but the immediate
problem it solves is the need to jankily inspect
the parameters of our get_*_body function.

Most of the changes were handled by an ad hoc
munge.py script.

The substantive changes were adding the Helper
class and passing it in.

And then the linter discovered a place where
the optional include_title parameter wasn't used
(which is one of the reasons to avoid the janky
inspect-signature technique).

As a side note, none of the include_title parameters
needed a default value of False, as we always passed
in an explicit value.

We test cover both sides of include_title, which
you can verify by hard coding it to either True or
False (and seeing the relevant failures), although I
suspect most individual codepaths
only test one value, based on whether "topic" is in
the fixture or not.

Finally, I know Helper is not a great name, but I
intend to evolve the class a bit before deciding
whether a more descriptive name is helpful here.
(For example, an upcoming commit will add a
log_unexpected helper method.)
2020-09-03 10:44:39 -07:00
.circleci provision: Check for old Ubuntu or Python before starting Python. 2020-09-02 17:27:14 -07:00
.github dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics populate_analytics_db: Replace intermediate list with generator. 2020-09-02 19:34:48 -07:00
confirmation python: Convert more percent formatting to Python 3.6 f-strings. 2020-06-14 23:27:22 -07:00
corporate test_stripe: Simplify with iterable unpacking. 2020-09-02 11:15:41 -07:00
docs docs: Fix node debugging integration anchor. 2020-08-31 21:55:54 -07:00
frontend_tests node tests: Find files in Python. 2020-09-03 07:57:58 -04: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 puppet: Don’t install netcat. 2020-09-03 10:33:47 -07:00
requirements requirements: Upgrade zulint. 2020-08-24 16:10:10 -07:00
scripts python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
static landing-page: Fix carousel indicators alignment. 2020-09-02 10:59:22 -07:00
stubs python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
templates lint: Remove unused ignorelongline and lint:ignore comments. 2020-09-02 11:00:44 -07:00
tools tools: Delete tagmessages script. 2020-09-03 10:35:51 -07:00
zerver github refactor: Add Helper class. 2020-09-03 10:44:39 -07:00
zilencer python: Rewrite dict() as {}. 2020-09-02 11:15:41 -07:00
zproject python: Replace list literal concatenation with * unpacking. 2020-09-02 11:15:41 -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 eslint: Enable import/no-cycle. 2020-09-02 13:14:39 -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 isort: Enable black profile. 2020-09-02 11:00:07 -07:00
.mailmap mailmap: Give priority to Vishnu KS's zulip email. 2020-07-31 10:37:49 -07:00
.npmignore
.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
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
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -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
Vagrantfile vagrant: Add parallels as a provider. 2020-08-14 16:03:51 -07:00
babel.config.js js: Add "use strict" directive to CommonJS files. 2020-07-31 22:09:46 -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
package.json dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -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
setup.cfg lint: Use standard setup.cfg configuration for pycodestyle. 2020-07-14 00:41:20 -07:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -07:00
tsconfig.json typescript: Enable strictNullChecks. 2020-07-28 11:01:35 -07:00
version.py dependencies: Upgrade JavaScript dependencies. 2020-09-02 19:34:37 -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 JavaScript dependencies. 2020-09-02 19:34:37 -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 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.