Go to file
Hariom Verma 107da5402c url preview: Replace YouTube URLs with their titles.
Modified by punchagan to:
* Replace URLs with titles only if the inline url embed previews are turned on
* Add a test for youtube titles replacing URLs

The titles for the videos are fetched asynchronously after the message has been
sent via the code that fetches metadata for open graph previews. So, the URLs
are replaced with titles only if the inline embed url previews feature is
enabled.

Ideally, YouTube previews should be shown only if inline url previews are
enabled, but this feature is in beta, while YouTube previews are pretty stable.
Once this feature is out of beta, YouTube previews should be shown only if the
url previews feature is turned on.

YouTube preview image is calculated as soon as the message is sent, while the
title needs to be fetched using a network request. This means that the URL is
replaced only after the data has been fetched from the request, and happens a
couple of seconds after the message has been rendered.

Closes #7549
2019-07-12 19:14:19 -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 models: Extract get_human_admin_users function. 2019-06-20 14:32:30 -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: Document TEST_WORKER_DIR. 2019-07-12 17:52:08 -07:00
frontend_tests markdown: Fix marked generation of unnecessarily absolute URLs. 2019-07-11 15:09:38 -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 nginx: Update TLS settings based on Mozilla recommendations 5.0. 2019-07-08 15:51:02 -07:00
requirements dependencies: Use the django-bitfield 1.9.5 release. 2019-07-12 16:25:40 -07:00
scripts i18n: Move static/locale back to locale. 2019-07-02 14:57:55 -07:00
static user settings: Improve accessibility for new delete profile picture button. 2019-07-12 16:53:25 -07:00
stubs billing: Try paying invoices when user puts a new card on file. 2019-04-05 13:36:03 -07:00
templates templates: Update open graph metadata for some portico pages. 2019-07-11 14:23:25 -07:00
tools test_fixtures: Add logic for removing stale test directories. 2019-07-12 17:42:18 -07:00
zerver url preview: Replace YouTube URLs with their titles. 2019-07-12 19:14:19 -07:00
zilencer models: Add `external_account` in custom profile field types. 2019-07-09 17:21:54 -07:00
zproject test_upload: Refactor test_upload output to new filepath. 2019-07-12 17:35:44 -07:00
zthumbor analytics/zilencer/zproject: Remove unused imports. 2019-02-02 17:31:45 -08:00
.codecov.yml Try to avoid codecov spam. 2017-12-29 07:23:26 -05: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 docker: Add PGroonga support to Postgresql Dockerfile. 2018-05-23 11:53:32 -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 third: Upgrade spectrum-colorpicker to 1.8.0 from NPM. 2019-07-10 10:07:34 -07:00
version.py dependencies: Use the django-bitfield 1.9.5 release. 2019-07-12 16:25:40 -07:00
yarn.lock third: Upgrade spectrum-colorpicker to 1.8.0 from NPM. 2019-07-10 10:07:34 -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.