Commit Graph

1322 Commits

Author SHA1 Message Date
Tim Abbott 02ae71f27f api: Stop using API keys for Django->Tornado authentication.
As part of our effort to change the data model away from each user
having a single API key, we're eliminating the couple requests that
were made from Django to Tornado (as part of a /register or home
request) where we used the user's API key grabbed from the database
for authentication.

Instead, we use the (already existing) internal_notify_view
authentication mechanism, which uses the SHARED_SECRET setting for
security, for these requests, and just fetch the user object using
get_user_profile_by_id directly.

Tweaked by Yago to include the new /api/v1/events/internal endpoint in
the exempt_patterns list in test_helpers, since it's an endpoint we call
through Tornado. Also added a couple missing return type annotations.
2018-07-30 12:28:31 -07:00
Rishi Gupta 5e7fd3a3cf docs: Move server import and export from /help to readthedocs. 2018-07-27 10:37:50 -07:00
Tim Abbott 038f50b05e docs: Add basic documentation for adding mypy stubs. 2018-07-26 15:06:22 -07:00
Aditya Bansal 0042694e24 stylelint: Start using stylelint to lint our css.
Tweaked by tabbott to document it.

Fixes #8894.
2018-07-25 15:03:35 -07:00
Lyla Fischer e07bf51fc9 user docs: Update the message-actions template. 2018-07-20 10:10:17 -07:00
Lyla Fischer f3b0b8edc8 user docs: Remove the admin.md macro. 2018-07-19 22:30:51 +05:30
Tim Abbott 5371589c76 setup-advanced: Remove broken links for old tsearch_extras packages.
It appears Luke's Dropbox folder/shared link that used to host some
tsearch_extras binaries was removed.  It wasn't very high-value
regardless, because most of the platforms involved are deprecated, the
ones that don't generally have a PPA, and building from source is
pretty easy.  So, we just remove these options from the documentation.

While we're at it, make clear we only support direct installation on
Ubuntu LTS.

Fixes #9863.
2018-07-11 21:35:23 +05:30
Aditya Bansal 9b485f3ef4 auth: Fix bug with subdomains and GitHub auth causing apparent logouts.
This adds a new settings, SOCIAL_AUTH_SUBDOMAIN, which specifies which
domain should be used for GitHub auth and other python-social-auth
backends.

If one is running a single-realm Zulip server like chat.zulip.org, one
doesn't need to use this setting, but for multi-realm servers using
social auth, this fixes an annoying bug where the session cookie that
python-social-auth sets early in the auth process on the root domain
ends up masking the session cookie that would have been used to
determine a user is logged in.  The end result was that logging in
with GitHub on one domain on a multi-realm server like zulipchat.com
would appear to log you out from all the others!

We fix this by moving python-social-auth to a separate subdomain.

Fixes: #9847.
2018-07-10 16:49:00 +05:30
Shubham Dhama 7cbacdb8c2 populate_db: Integrate populate_analytics_db.
As detailed in the documentation changes, this simplifies the
development workflow for doing UI work on the /stats pages.

The cost is a ~10% increase the time it takes to run `populate_db`,
which doesn't happen very often (and for most purposes manifests as a
1% increase in the time it takes to rebuild the database from scratch).
2018-07-09 15:05:48 +05:30
Rishi Gupta 16334a1ba7 billing: Update billing system. 2018-07-09 14:33:07 +05:30
Tim Abbott ddc2ef2ce8 docs: Point Docker users to the Docker upgrade docs.
The normal instructions don't make sense for the Docker image.
2018-07-01 06:58:44 -07:00
Jack Zhang 781e995865 docs: Fix typos in mobile-push-notifications. 2018-06-30 13:48:01 -07:00
Vishnu Ks 0212113569 docs: Document ADD_TOKENS_TO_NOREPLY_ADDRESS in email.md.
Rewritten and moved by tabbott.
2018-06-23 12:03:30 -07:00
Tim Abbott 9d9d59d4b2 clean-unused-caches: Optimize performance.
This saves about 400ms when running clean-unused-caches, basically by
calling its sub-rountines by import (rather than
`subprocess.check_call()`).  The performance optimization seems well worth it.

Fixes #9766.
2018-06-18 07:31:33 -07:00
Eeshan Garg 0a43e5e257 Replace all user-facing references to "invite-only" with "private".
Fixes #9611.
2018-06-12 13:37:45 -04:00
Tim Abbott 427c43723c docs: Document disabling unattended-upgrades.
I don't think this is exactly the right place to document this, but
I'm not sure there's a better one without some restructuring this page
in general (which would probably have value).

Fixes #8769.
2018-06-05 08:45:42 -07:00
Tim Abbott 40635beb23 docs: Document production support for Debian Stretch and Ubuntu Bionic.
Fixes #9197.
2018-06-05 08:09:29 -07:00
Tim Abbott ce4f00bd84 docs: Attempt to clarify the REST API writing docs. 2018-06-04 16:01:07 -07:00
Eeshan Garg 371cacde35 docs: Add a guide on how to document REST API endpoints. 2018-06-04 15:27:49 -07:00
Tim Abbott b7af4c2162 docs: Update multiple organization docs to clarify root domain story.
Previously, we made it seem like it was a good idea to use a subdomain
and a root domain at the same time.
2018-05-31 12:18:41 -07:00
Eeshan Garg 4f98a45507 docs: Rename "webhooks" to "incoming webhooks".
I only renamed references that I thought were absolutely necessary
and only if the resulting sentence structure wasn't awkward.

If the renaming resulted in awkward structure, I replaced the term
"webhook" with "integration" (but only in some very obvious cases).

Fixes #9500.
2018-05-30 18:21:13 -07:00
Tim Abbott 8c100f45f0 docs: Update development environment docs for Ubuntu bionic.
We also clean up some flows in the documentation that were somewhat
confusing that I noticed while working on this.
2018-05-30 10:00:41 -07:00
Yashashvi Dave 07b63e4886 jquery-form: Remove jquery-form plugin dependency.
Fixes #9430.
2018-05-29 15:44:40 -07:00
Sampriti Panda 018a33ff7c send_test_email: Send email from NOREPLY address as well.
Tweaked by tabbott to also set different subject lines, to make it
easier to see that one got 2 emails.
2018-05-27 22:18:44 -07:00
Yago González 623d7e66d9 docs: Rename Swagger to OpenAPI in the dev docs' titles. 2018-05-25 14:57:44 -07:00
amanagr 7797c746fc docs: Update installation instructions for Ubuntu 18.04.
Add missing dependencies for installation of dev server in
Ubuntu 18.04.
2018-05-25 08:50:14 -07:00
Abhigyan Khaund fda786952e documentation: Migrate all CZO stream links to new stream URL style
This includes changes like changing CZO stream URLs from new.20members
to 95-new-members.
2018-05-24 15:15:34 -07:00
Tim Abbott a0e24e6d1f setup-advanced: Improve discussion of manual instructions.
First, make them even less recommended.  But also, remove the list of
packages at the top -- it's not actually useful.
2018-05-24 09:47:18 -07:00
Tim Abbott 54c91ebdc0 setup-advanced: Remove direct nodejs documentation.
We already install this via `install-node` further on.
2018-05-24 09:45:55 -07:00
amanagr 3818a0ca3d docs: Update dev server manual installation instructions.
Update instructions for setup in ubuntu 18.04.
2018-05-24 07:37:07 -07:00
Umair Khan adaeaccd20 2FA: Add link in settings to setup two-factor. 2018-05-23 15:49:41 -07:00
Tim Abbott d6fb47385b docs: Clean up the instructions for installing from Git.
This is now much more common, and deserves clearer discussion.
2018-05-23 14:34:28 -07:00
Tim Abbott e420766f70 docs: Remove a dead link from our reading list.
This might have been a useful tutorial, but python.net has been down
long enough that it's unlikely to come back.
2018-05-22 11:35:30 -07:00
Tim Abbott 31045e281c docs: Remove the nginx section of life-of-a-request tutorial.
The link was broken, but more importantly, this seemed like the wrong
level of detail about this feature.
2018-05-22 11:34:11 -07:00
Tim Abbott 9aee4c8c8e docs: Add production documentation on deployment options.
This describes the basics of installing Zulip in more complex
production environments using multiple services.

Fixes #1235.
2018-05-22 11:31:48 -07:00
Tim Abbott c6909fb99c migration_tests: Document the migration test framework. 2018-05-21 09:59:55 -07:00
Tim Abbott c0eaf7c166 docs: Update changelog since 1.8.1 release. 2018-05-20 20:53:39 -07:00
Tim Abbott f8fcbbb672 docs: Update security model docs for new stream history feature. 2018-05-20 14:38:51 -07:00
Tim Abbott 63a01d35e1 docs: Remove now-obsolete trusty64 box instructions.
This annoying Vagrant bug hasn't been super relevant for over a year.
2018-05-17 07:33:24 -07:00
Tim Abbott 958be1ebb6 docs: Clarify Vagrant version recommendations. 2018-05-17 07:30:24 -07:00
Tim Abbott 0364ba8986 docs: Recommend Mailgun over Sendgrid for email setup. 2018-05-17 07:28:08 -07:00
Tim Abbott faa2cd9597 docs: Clarify setup documentation for S3 backend. 2018-05-17 07:20:07 -07:00
Tim Abbott 0ac8de2b47 docs: Document new configuration option for production nginx. 2018-05-17 07:14:18 -07:00
Tim Abbott 0dcf873370 third: Rename thirdparty-fonts.css for better clarity.
Now it's clear that this is just legacy fontawesome styles.
2018-05-17 04:58:30 -07:00
Aman Ghebreweldi b05a702285 third: Use font awesome css file from NPM package. 2018-05-17 04:58:30 -07:00
Tim Abbott e63541e616 docs: Extract documentation for file upload backends.
This moves the documentation for this feature out of
prod_settings_template.py, so that we can edit it more easily.

We also add a bucket policy, which is part of what one would want to
use this in production.

This addresses much, but not all, of #9361.
2018-05-16 15:00:54 -07:00
Tim Abbott c9c17bb018 docs: Fix a couple broken links.
These were broken when we added Debian/Ubuntu support.
2018-05-16 15:00:54 -07:00
Aman Ghebreweldi a781b89ec2 third: Use Underscore throttle function instead of jQuery.
Since we already have _.js and it has this feature, there's no need
for a separate library.
2018-05-16 11:56:49 -07:00
Tim Abbott 828104e020 docs: Document the REALM_HOSTS feature. 2018-05-16 07:02:13 -07:00
Hendy Irawan bb5457c2f7 docs: Clarify need to provision from /srv/zulip when troubleshooting.
Text tweaked slightly by tabbott.
2018-05-15 09:43:09 -07:00
Aman Ghebreweldi 83ee8211a8 third: Get sorttable package from npm.
We didn't have any local changes, so there's no need to have it
vendored in the repository.
2018-05-15 09:25:48 -07:00
Tim Abbott e4131fb708 docs: Remove a bunch of content from mypy docs.
All of this content had become obsolete due to our successful adoption
of mypy.
2018-05-13 17:23:18 -07:00
Aditya Bansal a00f3b5843 docs: Update for change from typing.Text to str. 2018-05-14 05:23:36 +05:30
Yago González a575d69eec docs: Improve dev env setup for Debian. 2018-05-13 15:02:48 -07:00
Tim Abbott c7b44d44e4 third: Remove now-unused LazyLoad library.
We don't reference this anymore (it was only ever used by the Dropbox
integration, which was hardcoded-off for years before being removed in
e6833b6427)
2018-05-08 14:38:27 -07:00
Tim Abbott 7208ad0ae0 version: Update for Zulip Server 1.8.1 release. 2018-05-07 16:01:41 -07:00
Tim Abbott 1fb576b858 Add changelog for 1.8.1 release. 2018-05-07 16:01:10 -07:00
Yago González 5e85701a42 docs: Add references to dev installation in Debian. 2018-05-07 08:53:01 -07:00
Tim Abbott cfd22c6832 zilencer: Clean up logic around mobile push notifications signup.
This fixes exceptions when sending PMs in development (where we were
trying to connect to the localhost push bouncer, which we weren't
authorized for, but even if we were, it wouldn't work, since there's
no APNS/GCM certs).

At the same time, we also set and order of operations that ensures one
has the opportunity to adjust the server URL before submitting
anything to us.
2018-05-05 16:42:00 -07:00
Tim Abbott 8a3522e8e4 docs: Update development docs for Debian support.
While we're at it, we also update some direct download links for
Debian/Ubuntu packages.
2018-05-05 11:08:07 -07:00
Tim Abbott 76fba19d20 docs: Add a basic guide on the current guest users implementation.
This will likely change pretty quickly as we build this feature; I
wrote this just to have a central place to keep track of what we'll
need to document when we ship this feature.
2018-05-04 10:27:40 -07:00
Tim Abbott 43098a6f7c zilencer: Add automated signup system for push notifications.
Based on an initial version by Rishi Gupta.

Fixes #7325.
2018-05-03 21:27:49 -07:00
Tim Abbott 16873cd1ff static: Remove unnecessary handlebars README. 2018-04-28 10:46:16 -07:00
Greg Price a70816c76e docs: Stop linking to specific versions of our docs entirely.
We started doing this for install docs in de2a2d0df, because `latest`
wasn't suitable and because I didn't know about readthedocs's `stable`
feature.  The result has been that even with a checklist item, we
don't reliably update the link.

Instead, use the special `stable` version identifier on readthedocs to
link automatically to the highest version it knows about.
2018-04-25 14:36:56 -07:00
Tim Abbott ec878d01ba docs: Document how to write email templates correctly. 2018-04-25 13:50:14 -07:00
Rishi Gupta 62d5166b7b docs: Add tools/inline-email-css to email subsystem doc. 2018-04-25 08:52:29 -07:00
Emilio Schadt b6f5ea0fd2 docs: Add README.md to zulip/docs to prevent reading on GitHub.
This should help avoid confusing about broken links.

Tweaked by tabbott to fix formatting and the linter.
2018-04-24 10:50:39 -07:00
Tim Abbott 1703e23980 templates: Move all core app templates into a subdirectory.
This should make it easier to find the templates that are actually
part of the core webapp, instead of having them all mixed together
with the portico pages.
2018-04-23 16:46:37 -07:00
Rishi Gupta cf735042b7 docs: Make minor fixes to mobile-push-notifications.html. 2018-04-23 12:37:29 -07:00
Tim Abbott 6bab4e0aad narrow: Fix narrowing behavior when loading a new tab.
In the very early days of Zulip, we didn't have unread counts; just
the pointer, and the correct behavior when opening a new tab was to
place you near the pointer.  That doesn't make any sense now that we
do have unread counts, and this corner case has been a wart for a long
time.

This commit does the main behavior change here.  However, there's a
bug we need to fix, where we might end up trying to pre-render a view
of the narrow based on the `all_msg_list` data before `all_msg_list`
is caught up).  We need to fix that bug before we can merge this; it
should be possible to determine that using `FetchStatus` on
`all_msg_list`, or with better performance by using the `unread_msgs`
structure to determine whether the message we should be selecting is
present locally.

Fixes #789.
Fixes #9070.
2018-04-22 21:33:17 -07:00
Tim Abbott f90b765824 docs: Document what's involved in doing your own push notifications.
We've had a few folks ask about this recently, and it seemed like it'd
be good to cover this a bit more explicitly.
2018-04-21 21:42:24 -07:00
Tim Abbott e25d6968a5 docs: Expand documentation on our other test suites.
This is long overdue, and I was actually kinda surprised how many of
these we have at this point :).

Fixes #7461.
2018-04-19 23:49:28 -07:00
Preston Hansen 76d6c71595 tests: Move zerver/fixtures to zerver/tests/fixtures for clarity.
Fixes #9153.
2018-04-19 21:50:17 -07:00
Tim Abbott e53c0fe273 docs: Further clarify privacy details for push notifications. 2018-04-19 14:20:57 -07:00
Tim Abbott f34b72b830 docs: Fix command for accessibility label. 2018-04-19 11:13:09 -07:00
Steve Howell ae92ec2b57 node docs: Simplify and fix node docs.
This is a first pass at fixing node docs.  This commit eliminates
some text that is either obsolete or just overly confusing, and
it fixes some of the code samples to reflect how the API has
evolved in the last couple years.  We also prominently tell
you how to run the tests.
2018-04-17 17:52:19 -07:00
Steve Howell fca5cec2af node tests: Remove features to output HTML to files.
I don't think anybody ever really used this feature, which I
developed but don't even use myself.  It kind of runs counter
to the minimalist approach of the rest of node tests.

I would eventually like to re-think the template tests altogether.
They're slow, and we could solve that somewhat by replacing
jsdon/jquery with an HTML parser library to verify structural
things.

It's also possible that we can just rely on our template linters
to catch the biggest class of errors (malformed tags) and let
code review do the rest.

And it's also possible that we should make a second attempt to
ramp up tooling on making it easy to verify templates, but it
doesn't have to be part of the node tests.  If we did that, we
would also potentially use tooling for Python-side templates.
2018-04-17 17:52:19 -07:00
Tim Abbott 4f1d3f302b docs: Fix a typo in the changelog. 2018-04-17 17:30:00 -07:00
Tim Abbott 1ec276b3a8 release: Update version strings following 1.8.0 release. 2018-04-17 17:12:20 -07:00
Tim Abbott a6a5636a32 Release Zulip server 1.8.0. 2018-04-17 16:59:07 -07:00
Tim Abbott 60fe92ff13 docs: Make some small tweaks to the changelog. 2018-04-17 13:36:35 -07:00
Tim Abbott 7e187676c6 docs: Update changelog discussion of uploads auth and trusty. 2018-04-17 13:19:34 -07:00
Greg Price dace7cacc8 docs changelog: Mention there are security fixes since 1.7.
Can't hurt to make this clear right in the 1.8 notes.
2018-04-16 18:37:55 -07:00
Greg Price 8630eb43b3 docs: Sort changelog entries for 1.8 into categories.
These aren't perfect -- in particular "core chat experience" can
probably be broken up -- but I think they help in making a quick skim
work for getting some sense of what the changes are.

This change just reorders and adds headings, with virtually no wording
changes.
2018-04-16 18:37:38 -07:00
Greg Price 21045d8cf0 prod docs: Call out more the need for a chained cert bundle.
This is kind of easy to gloss over, especially with the framing
as a "format"; surely if things work at all, the file format
must have been right, right?  It's really a bit more substantive
than that; say so and also add a bit more description.
2018-04-16 11:34:23 -07:00
Tim Abbott cc927774af docs: Add an initial document explaining our presence protocol. 2018-04-12 17:04:51 -07:00
Tim Abbott fea65cbb01 Update changelog and versions following Zulip Server 1.7.2. 2018-04-12 10:20:49 -07:00
Axel Tietje 8f984be457 docs: Fix typo in production docs. 2018-04-12 09:19:26 -07:00
Lyla Fischer d291def7a1 user-docs subsystem: Fix broken markdown. 2018-04-12 09:09:56 -07:00
Lyla Fischer 390eeaab5b help: Remove follow-steps doc macro. 2018-04-11 16:44:08 -07:00
Lyla Fischer 00255ad7c0 help: Remove the go-to-the macro. 2018-04-11 16:44:08 -07:00
Greg Price 6396b3aef7 docs/production: Make an editing pass through the SMTP doc.
In addition to many small edits for formatting and clarity, a few more
significant changes:

* In the main instructions, refer specifically to restarting the
  server and to testing that the config works.

* Add SendGrid to the recommended list, as it seems like people
  give it a somewhat stronger reputation these days than Mailgun.

* Discuss EMAIL_USE_TLS and EMAIL_PORT along with host, user, and
  password in the "free services" section.  Though those bullets feel
  kind of duplicative to me already.
2018-04-05 21:24:48 -07:00
Greg Price b9f1f9c0ae docs/production: Reorganize SMTP docs a bit.
Let's get right to the point of how to configure SMTP once you know
what you want.  That section is pretty short anyway; and we can have
a first step direct the reader to our suggestions if they don't know
what service they want to use.

Also adjust the hierarchy of the headings: group the various
alternative email services under one heading, and group
troubleshooting together under an independent heading.

Also correct what we say about EMAIL_PORT: the Django default is
apparently 25, so if the provider *does* use the usual port 587
then we'll need the port to be set.
2018-04-05 21:24:48 -07:00
Shubham Dhama d3627ab419 docs: Update new-feature-tutorial.
This updates the new-feature-tutorial for the recent changes done
in org settings subsystem.

Edited significantly by tabbott, mostly for grammar.
2018-04-05 15:51:51 -07:00
Tim Abbott 9156591406 docs: Update changelog through current master. 2018-04-03 12:54:04 -07:00
Aman Agrawal 38829032be docs: Correct broken link on gsoc-ideas.md.
Set correct link for summer-with-zulip.
2018-04-03 10:43:13 -07:00
Greg Price e792fc6c07 spelling: Correctly write "cannot".
None of these errors were user-facing; mainly in comments, plus
one bit of internal docs and a developer tool.
2018-04-02 15:36:31 -07:00
Tim Abbott a65f6288b6 docs: Fix a broken link to the Cloud9 documentation. 2018-04-01 22:13:38 -07:00
Puneeth Chaganti 986e55e5b0 docs: Move summer with Zulip doc from Dropbox paper to ReadTheDocs.
Originally authored mostly by Tim Abbott.
2018-04-01 22:11:45 -07:00
Anurag Sharma 1227857de6 hotkeys: Replace C with x for composing PM.
Pressing the 'x' key can now be used to compose a PM.
Pressing the 'C' key displays a modal that shows a deprecation notice.

Fixes #6548.
2018-04-01 16:13:05 -07:00