Go to file
Priyansh Garg 3294e8dbe0 compose-box: Insert quoted content at the cursor position.
Right now, on clicking `quote and reply` on any message, the quoted
message is always inserted at the top of compose-box irrespective of
the current cursor position. Also, after insertion of the quoted
message, the cursor is shifted at the end of the compose box.

This commit changes this behaviour to insertion of quoted message
at the current cursor position with a newline at the end of quote
and moving the cursor position to that newline after insertion.
A newline is added at the beginning of quoted message only if there
was some content already present in compose box before the previous
cursor position.

Tested on Google Chrome and Firefox browsers on Ubuntu dev environment.

Fixes: #16836
2021-07-06 16:38:17 -07:00
.github upgrade-check: Add create cache directory step. 2021-07-05 09:55:38 -07:00
.tx cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
analytics python: Migrate most json_error => JsonableError. 2021-06-30 16:22:38 -07:00
confirmation python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
corporate billing tests: Remove unnecessary orjson.dumps of params. 2021-07-05 18:06:13 -07:00
docs json_error: Completely remove json_error. 2021-07-06 15:34:33 -07:00
frontend_tests compose-box: Insert quoted content at the cursor position. 2021-07-06 16:38:17 -07:00
locale i18n: Update translation data from Transifex. 2021-05-27 00:13:49 -07:00
pgroonga pgroonga: Remove unnecessary code from first migration. 2021-05-28 09:42:33 -07:00
puppet billing: Downgrade small realms that are behind on payments. 2021-07-02 13:19:12 -07:00
requirements requirements: Upgrade Python requirements. 2021-07-06 08:40:32 -07:00
scripts install-node: Upgrade Node.js from 14.17.0 to 14.17.3. 2021-07-05 14:51:24 -07:00
static compose-box: Insert quoted content at the cursor position. 2021-07-06 16:38:17 -07:00
stubs billing: Downgrade small realms that are behind on payments. 2021-07-02 13:19:12 -07:00
templates css: Set night theme font CSS on loading page. 2021-07-06 14:57:17 -07:00
tools json_error: Completely remove json_error. 2021-07-06 15:34:33 -07:00
var/puppeteer puppeteer_tests: Port to TypeScript. 2021-02-22 16:03:10 -08:00
zerver streams: Clean up compose_views logic. 2021-07-06 15:36:39 -07:00
zilencer billing: Downgrade small realms that are behind on payments. 2021-07-02 13:19:12 -07:00
zproject docs: Correct Big Blue Button to BigBlueButton. 2021-07-05 16:59:00 -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 ts: Convert blueslip module to TypeScript. 2021-06-22 09:09:36 -07:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.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 manage: Restore `changepassword` back to documented_commands. 2021-06-18 09:11:01 -07:00
package.json webpack: Fix webpack-bundle-tracker hot update bug. 2021-07-06 15:53:48 -07:00
postcss.config.js eslint: Fix import/extensions. 2021-06-08 10:15:52 -07:00
prettier.config.js casper: Remove few traces of casper. 2020-08-30 17:16:02 -07:00
pyproject.toml mypy: Move configuration to pyproject.toml. 2021-07-05 17:01:32 -07: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 ts: Convert i18n module to TypeScript. 2021-06-22 09:09:36 -07:00
version.py webpack: Fix webpack-bundle-tracker hot update bug. 2021-07-06 15:53:48 -07:00
webpack.config.ts webpack: Fix run-dev.py --minify. 2021-06-10 17:26:55 -07:00
yarn.lock webpack: Fix webpack-bundle-tracker hot update bug. 2021-07-06 15:53:48 -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.