Go to file
Greg Price 0ec2a9d259 auth: Try switching to register even if user exists on another realm.
For example, this means that if a user already has an account on one
realm and they try to make an account on another by hitting "Sign in
with Google" (rather than following the little "Register" link to a
"Sign up with Google" button instead), they'll get to make an account
instead of getting an error.

Until very recently, if the user existed on another realm, any attempt
to register with that email address had to fail in the end, so this
logic gave the user a useful error message early.  We introduced it in
c23aaa178 "GitHub: Show error on login page for wrong subdomain"
back in 2016-10 for that purpose.  No longer!  We now support reusing
an email on multiple realms, so we let the user proceed instead.

This function's interface is kind of confusing, but I believe when its
callers use it properly, `invalid_subdomain` should only ever be true
when `user_profile` is None -- in which case the revised
`invalid_subdomain` condition in this commit can never actually fire,
and the `invalid_subdomain` parameter no longer has any effect.  (At
least some unit tests call this function improperly in that respect.)
I've kept this commit to a minimal change, but it would be a good
followup to go through the call sites, verify that, eliminate the use
of `invalid_subdomain`, then remove it from the function entirely.
2017-11-28 16:38:41 -08:00
.tx Revert "locale: Fix incorrect locale name for zh-Hans." 2017-10-06 10:09:08 -07:00
analytics analytics: Use Python 3 syntax for typing (final). 2017-11-22 12:16:59 -08:00
confirmation Text-wrap the remaining long lines exceeding 110. 2017-11-15 10:58:03 -08:00
corporate corporate: Remove unused imports (F401). 2017-11-07 16:37:04 -08:00
docs left sidebar: Change Home to All messages. 2017-11-28 15:42:58 -08:00
frontend_tests left sidebar: Change Home to All messages. 2017-11-28 15:42:58 -08:00
pgroonga py3: Remove all `from __future__ import unicode_literals`. 2017-10-17 23:07:42 -07:00
puppet check_send_receive_time: Fix parsing bug. 2017-11-27 14:01:30 -08:00
requirements requirements: Add dependencies for two-factor auth. 2017-11-28 15:13:38 -08:00
scripts clean-npm-cache: Fix path to yarn in Travis CI. 2017-11-23 12:01:20 -08:00
static left sidebar: Change Home to All messages. 2017-11-28 15:42:58 -08:00
templates left sidebar: Change Home to All messages. 2017-11-28 15:42:58 -08:00
tools lint: Fix use of re.match in judging long lines. 2017-11-28 16:23:10 -08:00
zerver auth: Try switching to register even if user exists on another realm. 2017-11-28 16:38:41 -08:00
zilencer populate_db: Create an email-reusing Cordelia in the "lear" realm. 2017-11-28 16:23:10 -08:00
zproject auth: Allow accounts with the same email in different realms. 2017-11-28 16:23:10 -08:00
.codecov.yml codecov: Turn off "patch" diffs. 2017-07-12 17:52:26 -07:00
.editorconfig Remove spaces between file types in editorconfig list. 2017-04-17 10:04:17 -07:00
.eslintignore zulip_ops: Delete the long-disused `stats1.zulip.net` config and its dependencies. 2017-08-15 17:30:31 -07:00
.eslintrc.json refactor: Extract upload mechanics to new JS module. 2017-11-27 21:31:51 -08:00
.gitattributes gitattributes: Set .jpeg files as binary. 2017-10-26 22:25:39 -07:00
.gitignore gitignore: Ignore package-lock.json generated by npm. 2017-11-24 10:25:28 -08:00
.gitlint requirements: Upgrade gitlint to 0.8.2. 2017-05-05 09:59:39 -07:00
.isort.cfg python: Add settings for isort. 2017-11-14 12:31:14 -08:00
.npmignore Add proxy notes to new README.dev.md troubleshooting section. 2016-03-29 21:54:05 -07:00
.travis.yml tools: Rewrite `test-locked-requirements` to be more performant. 2017-11-20 15:35:47 -08:00
CODE_OF_CONDUCT.md repository: Add CODE_OF_CONDUCT.md. 2017-06-14 18:43:08 -07:00
CONTRIBUTING.md docs: Split 'git-guide.md`. 2017-11-23 16:04:18 -08:00
Dockerfile-dev Move Dockerfile to Dockerfile-dev. 2017-09-25 12:32:33 -07:00
LICENSE docs: Move license declaration from README.md to LICENSE. 2017-11-14 16:04:23 -08:00
README.md version: Update mentions of latest release to reflect 1.7.1. 2017-11-22 18:11:20 -08:00
Vagrantfile vagrant: Add NFS backend for file synchronization for OSX. 2017-11-24 10:16:07 -08:00
manage.py Remove `from __future__ import absolute_import`. 2017-10-17 22:59:42 -07:00
package.json bugdown: Update KaTeX to version 0.8.3 from 0.7.1. 2017-11-23 12:43:34 -08:00
version.py python-zulip-api: Upgrade to PyPI package release 0.3.8. 2017-11-27 20:31:37 -08:00
yarn.lock bugdown: Update KaTeX to version 0.8.3 from 0.7.1. 2017-11-23 12:43:34 -08: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 300 contributors merging over 500 commits a month, Zulip is also the largest and fastest growing open source group chat project.

Build Status Coverage Status Mypy coverage 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.