Go to file
Cody Piersall 5dab6e9d31 emoji-upload: Fix transparency issues on GIF emoji upload.
This preserves the alpha layer on GIF images that need to be resized
before being uploaded.  Two important changes occur here:

1. The new frame is a *copy* of the original image, which preserves the
   GIF info.
2. The disposal method of the original GIF is preserved.  This
   essentially determines what state each frame of the GIF starts from
   when it is drawn; see PIL's docs:
   https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html#saving
   for more info.

This resolves some but not all of the test cases in #16370.
2020-10-11 16:23:07 -07:00
.circleci circleci: Put the branch name into the topic on failure. 2020-09-18 10:37:56 -07:00
.github dependencies: Upgrade JavaScript dependencies. 2020-09-24 16:33:45 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics activity: Show server time rather than browser time. 2020-10-08 19:17:35 -07:00
confirmation urls: Remove unused URL names and shorten others. 2020-09-22 10:46:28 -07:00
corporate support: Add option to change billing method. 2020-09-28 15:37:49 -07:00
docs docs: Add docker push notifications registration example. 2020-10-02 15:27:32 -07:00
frontend_tests message_send: Fix old guests being treated as full members. 2020-10-08 11:30:11 -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 queue: Monitor user_activity queue, now that it has a consumer. 2020-10-11 14:19:42 -07:00
requirements openapi: Remove yamole. 2020-09-29 16:47:10 -07:00
scripts python: Catch BaseException when we need to clean something up. 2020-10-11 16:16:16 -07:00
static css: Hide bottom-right resizable box in view-source textarea. 2020-10-08 17:13:50 -07:00
stubs stripe: Create void_all_open_invoices. 2020-09-28 15:37:49 -07:00
templates activity: Show server time rather than browser time. 2020-10-08 19:17:35 -07:00
tools python: Catch specific exceptions from requests. 2020-10-11 16:11:41 -07:00
zerver emoji-upload: Fix transparency issues on GIF emoji upload. 2020-10-11 16:23:07 -07:00
zilencer queue: Set a max consume timeout with SIGALRM. 2020-10-06 17:26:14 -07:00
zproject python: Catch specific exceptions from orjson. 2020-10-11 16:11:41 -07:00
zthumbor zthumbor: Rename thumbor.conf to thumbor_settings.py. 2020-07-06 18:44: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 styles: Rename .scss files back to .css. 2020-09-15 16:33:28 -07:00
.eslintignore blueslip: Apply ESLint. 2019-11-01 12:13:59 -07:00
.eslintrc.json eslint: Fix no-useless-concat. 2020-10-07 16:00:33 -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: 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: Fix various capitalization errors. 2020-08-11 10:25:52 -07:00
CONTRIBUTING.md docs: Tweak descriptions of zulip-devel-announce and friends. 2020-09-03 17:39:16 -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 babel: Specify core-js minor version. 2020-10-05 14:51:03 -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 eslint: Enable eslint-plugin-unicorn. 2020-10-07 16:00:33 -07:00
postcss.config.js styles: Rename .scss files back to .css. 2020-09-15 16:33:28 -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 eslint: Enable eslint-plugin-unicorn. 2020-10-07 16:00:33 -07:00
webpack.config.ts eslint: Fix unicorn/import-style. 2020-10-07 16:00:33 -07:00
yarn.lock eslint: Enable eslint-plugin-unicorn. 2020-10-07 16:00:33 -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.