Go to file
N-Shar-ma 92788a52bb compose: Handle hotkey triggers depending on whitespace in composebox.
The `focus_in_empty_compose` function used for hotkeys, now checks if
the compose box is truly empty by considering it's untrimmed value. If
there are just spaces in the focused compose box, `focus_in_empty_compose`
returns false now.

This fixes the bug where using the left key among just spaces did not move
back the cursor as expected, and may unexpectedly trigger edit state for
the last sent message.

For `up` hotkeys, message navigation is also triggered if the cursor is
at the start of the composebox with just whitespace. A new helper
function is added for this check.
2023-01-30 11:32:37 -08:00
.github do: Install pynacl in the oneclick job. 2023-01-24 10:33:41 -08:00
.tx provision: Replace transifex-client with new transifex-cli. 2022-12-13 12:34:08 -08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics ruff: Fix SIM105 Use `contextlib.suppress` instead of try-except-pass. 2023-01-23 11:18:36 -08:00
confirmation ruff: Fix N818 exception name should be named with an Error suffix. 2022-11-17 16:52:00 -08:00
corporate notification-bot: Update message for approved full sponsorship. 2023-01-27 12:40:22 -08:00
docs contributor docs: Improve the first sentence in "Upgrade Zulip". 2023-01-27 12:41:56 -08:00
frontend_tests gear menu: Drop special naming for organization settings menu item. 2023-01-26 10:17:45 -08:00
help help: Link to https://zulip.com/values/ from supporting-zulip-motivation.md. 2023-01-26 14:46:57 -08:00
locale i18n: Sync latest unbranched translations from Transifex. 2023-01-17 13:20:49 -08:00
pgroonga typing: Use BaseDatabaseSchemaEditor in place of DatabaseSchemaEditor. 2022-05-30 14:18:53 -07:00
puppet puppet: Set /etc/mailname based on postfix.mailname configuration. 2023-01-27 15:08:22 -05:00
requirements uploads: Set X-Accel-Redirect manually, without using django-sendfile2. 2023-01-09 18:23:58 -05:00
scripts puppet: Stop creating a /home/zulip/logs. 2023-01-26 15:06:01 -08:00
static compose: Handle hotkey triggers depending on whitespace in composebox. 2023-01-30 11:32:37 -08:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates css: Add "bootstrap-focus-style" class to select elements. 2023-01-26 12:36:31 -08:00
tools ruff: Fix RUF005 Consider spread instead of concatenation. 2023-01-26 10:16:30 -08:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver register: Refactor template for new account registration. 2023-01-26 12:36:31 -08:00
zilencer ruff: Fix DTZ005 `datetime.datetime.now()` without `tz` argument. 2023-01-04 16:25:07 -08:00
zproject ruff: Fix S701 Consider using `autoescape=True`. 2023-01-26 10:16:30 -08:00
.browserslistrc zjsunit: Set browserslist target to current Node for Node tests. 2022-05-04 09:56:07 -07:00
.codecov.yml
.codespellignore contributor docs: Add a page on design discussions. 2022-09-30 12:15:04 -07:00
.editorconfig editorconfig: Restore indent_size = 2 for Markdown. 2021-08-20 23:14:37 -07:00
.eslintignore requirements: Remove Thumbor. 2021-05-06 20:07:32 -07:00
.eslintrc.json eslint: Add root: true. 2023-01-03 13:59:25 -08:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore lint: Replace pycodestyle and pyflakes with ruff. 2022-11-03 12:10:15 -07:00
.gitlint lint: Re-enable imperative-mood checking. 2021-02-23 14:54:07 -08:00
.mailmap mailmap: Add entry for rht. 2022-11-17 00:05:17 -08:00
.npmignore
.prettierignore help-docs: Move help center documentation to top level directory. 2023-01-25 14:08:29 -08:00
.pyre_configuration pysa: Update .pyre_configuration to point to typeshed. 2020-09-22 15:44:47 -07:00
.sonarcloud.properties
.yarnrc
CODE_OF_CONDUCT.md contributor docs: Add guidelines on moderating the Zulip community. 2022-12-02 16:57:41 -08:00
CONTRIBUTING.md docs: Remove paragraph about getting help finding issues in contributing. 2023-01-17 14:51:53 -08:00
Dockerfile-postgresql docker: Document the PostgreSQL Dockerfile build steps. 2022-04-26 18:00:00 -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 Ruff badge. 2023-01-04 16:22:12 -08:00
SECURITY.md SECURITY.md: Reorder and make clearer how to subscribe to announcements. 2022-01-07 15:56:26 -08:00
Vagrantfile vagrant: Add Fedora 36 support. 2022-09-08 16:12:59 -07:00
babel.config.js dependencies: Upgrade JavaScript dependencies. 2023-01-04 12:30:04 -08:00
manage.py ruff: Fix SIM102 nested `if` statements. 2023-01-23 11:18:36 -08:00
package.json dependencies: Upgrade JavaScript dependencies. 2023-01-04 12:30:04 -08:00
postcss.config.js css: Replace "night-mode-block" with "dark-theme-block". 2021-11-26 22:03:29 -08:00
prettier.config.js prettier: Disable embedded language formatting for Markdown. 2021-08-20 23:14:37 -07:00
pyproject.toml uploads: Set X-Accel-Redirect manually, without using django-sendfile2. 2023-01-09 18:23:58 -05:00
stylelint.config.js yarn: Add package which allows creating css mixins. 2021-12-09 18:15:18 -08:00
tsconfig.json tsconfig: Enable noImplicitOverride. 2021-09-13 10:10:34 -07:00
version.py ruff: Fix RUF005 Consider spread instead of concatenation. 2023-01-26 10:16:30 -08:00
webpack.config.ts webpack: Add a hook to print a compilation successful message. 2022-09-07 17:30:06 -07:00
yarn.lock dependencies: Upgrade JavaScript dependencies. 2023-01-04 12:30:04 -08:00

README.md

Zulip overview

Zulip is an open-source team collaboration tool with unique topic-based threading that combines the best of email and chat to make remote work productive and delightful. Fortune 500 companies, leading open source projects, and thousands of other organizations use Zulip every day. Zulip is the only modern team chat app that is designed for both live and asynchronous conversations.

Zulip is built by a distributed community of developers from all around the world, with 74+ people who have each contributed 100+ commits. With over 1000 contributors merging over 500 commits a month, Zulip is the largest and fastest growing open source team chat project.

Come find us on the development community chat!

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

Getting started

You may also be interested in reading our blog, and following us on Twitter and LinkedIn.

Zulip is distributed under the Apache 2.0 license.