Go to file
Rohitt Vashishtha 5fc37c5f9b compose: Add compose typeahead for stream+topic mentions.
We implement 3 changes:

1. Partial Stream Typeahead

   In addition to regular stream completion, we do partial completion
   of stream typeahead on pressing '>'. We use our custom addition to
   typeahead.js: this.trigger_selection to start topic_list typeahead.

   Implements: `#stream na|` (press >) => `#**stream name>|`.

2. Topic Jump Typeahead

   'topic_jump' typeahead moves the cursor from just ahead of a
   completed stream-mention to just after the end of the mention
   text and is triggered by typing '>' after the stream mention.
   This typeahead merely uses the regex matching and event hooks of
   the typeahead library instead of displaying any text completions.

   Implements: `#**stream name** >|` => `#**stream name>|`.

3. Topic List Typeahead

   'topic_list' typeahead shows the list of recent topics of a stream
   and if your current text doesn't match one of them, also shows you
   the current query text, allowing you to create mentions for topics
   that do not exist yet.

   Implements: `#**stream name>someth|` => `#**stream name>something** |`.

At the end of this commit, we support the following mechanisms to
complete the stream-topic mention:

1. Type "#denmar|".
2. Press Enter to get "#**Denmark** |".
3. Press > to get "#**Denmark>|".
4. Type topic name and press enter.

OR

1. Type "#denmar|".
2. Type > to get "#**Denmark>|".
3. Type topic name and press enter.

Both result in the final inserted syntax: "#**Denmark>topic name**".

Documentation is still pending.

Fixes #4836.
2019-07-21 20:38:17 -07:00
.circleci circleci: Store XUnit test results. 2019-07-07 22:31:11 -07:00
.github github: Suggest GIFs too in PR template. 2018-02-16 09:59:22 -08:00
.tx i18n: Move static/locale back to locale. 2019-07-02 14:57:55 -07:00
analytics support: Use delivery_email instead of email. 2019-07-21 14:47:15 -07:00
confirmation analytics/zilencer/zproject: Remove unused imports. 2019-02-02 17:31:45 -08:00
corporate corporate: Add a /jobs page, with job posts for mobile/fullstack. 2019-05-22 22:20:58 -07:00
docs docs: Make the intro to Production Installation less scary. 2019-07-20 14:39:15 -07:00
frontend_tests compose: Add compose typeahead for stream+topic mentions. 2019-07-21 20:38:17 -07:00
locale i18n: Update translation data from transifex. 2019-07-04 17:08:34 -07:00
pgroonga migrations: Remove unused imports. 2019-02-02 17:01:04 -08:00
puppet python: Migrate open statements to use with. 2019-07-20 15:48:52 -07:00
requirements bugdown: Force absolute urls in topic links. 2019-07-19 12:02:52 -07:00
scripts python: Migrate open statements to use with. 2019-07-20 15:48:52 -07:00
static compose: Add compose typeahead for stream+topic mentions. 2019-07-21 20:38:17 -07:00
stubs billing: Try paying invoices when user puts a new card on file. 2019-04-05 13:36:03 -07:00
templates api: Fix typo in URL for remove-subscriptions. 2019-07-21 18:41:29 -07:00
tools build-release-tarball: Run with zulip-py-venv symlink present. 2019-07-21 18:43:52 -07:00
zerver auth: Fix camel case name for register_extra_endpoints. 2019-07-21 19:31:13 -07:00
zilencer Merge pull request #12833 from whoodes/clean-up-new-user-bot 2019-07-20 14:38:05 -07:00
zproject Merge pull request #12833 from whoodes/clean-up-new-user-bot 2019-07-20 14:38:05 -07:00
zthumbor analytics/zilencer/zproject: Remove unused imports. 2019-02-02 17:31:45 -08:00
.codecov.yml codecov: Change threshold to use percentage syntax. 2019-07-20 14:37:04 -07:00
.editorconfig .editorconfig: Fix invalid brace patterns. 2019-07-03 14:40:56 -07:00
.eslintignore typescript: Use ESLint instead of TSLint. 2019-04-13 11:42:47 -07:00
.eslintrc.json eslint: Convert 0 to off in config. 2019-06-23 23:17:55 -07:00
.gitattributes Revert "gitattributes: Mark yarn.lock as "binary", i.e. suppress diffs." 2019-05-20 19:31:14 -07:00
.gitignore i18n: Move static/locale back to locale. 2019-07-02 14:57:55 -07:00
.gitlint lint: Allow revert commit messages in gitlint. 2018-02-13 09:21:01 -08:00
.isort.cfg tornado: Fix logging of tornado activity level. 2018-04-17 15:59:01 -07:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.stylelintrc lint: Ban color names in CSS. 2019-01-22 15:33:18 -08:00
.travis.yml ci: Move backend and production tests to Ubuntu 16.04 (xenial). 2019-05-24 17:07:15 -07:00
CODE_OF_CONDUCT.md docs: Add clarifying comma in CODE_OF_CONDUCT.md. 2019-04-05 18:01:37 -07:00
CONTRIBUTING.md docs: Mention twitter account as alternative to mailing list. 2019-05-20 15:21:15 -07:00
Dockerfile-postgresql postgres-create-db: Split into non-pgroonga and pgroonga scripts. 2019-07-17 16:18:22 -07:00
LICENSE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
NOTICE license: Move license application notice from LICENSE to NOTICE. 2018-10-02 12:04:44 -07:00
README.md ci: Remove Ubuntu 14.04 (trusty) from CI. 2019-06-26 11:01:13 -07:00
Vagrantfile Vagrantfile: Update Docker fallback patch for installed but broken case. 2019-05-30 16:01:45 -07:00
manage.py manage.py: Revert sabotaging pika.adapters.twisted_connection import. 2019-01-31 10:04:28 -08:00
mypy.ini mypy: Enable strict_optional for test_outgoing_webhook_interfaces. 2019-05-04 23:15:58 -07:00
package.json dependencies: Upgrade eslint to 6.0.1. 2019-07-20 16:12:51 -07:00
version.py version: Document when a dependency upgrade requires a major bump. 2019-07-21 20:13:52 -07:00
yarn.lock dependencies: Upgrade eslint to 6.0.1. 2019-07-20 16:12:51 -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 Travis Build Status Coverage Status Mypy coverage 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.