Commit Graph

27761 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
Tim Abbott 07af59d4cc tornado: Split get_events_backend into two functions.
The lower-layer function, now called get_events_backend, is intended
to be called by multiple code paths (including the upcoming
get_events_internal).
2018-07-30 12:28:31 -07:00
Harshit Bansal 8aabce5a5f hotkeys: Use canonical name for reacting with `+` hotkey.
This is sort of a temporary fix to bring the state back to how it
was in commit: ef4337edcb. However,
long-term we will need to fix our local echo feature to do merging
of names just like we do on backend.
2018-07-30 12:18:33 -07:00
Tim Abbott 906718f154 node tests: Fix minor linter error.
I'm not sure how this slipped in.
2018-07-30 12:17:27 -07:00
Tim Abbott 00f6fc2559 subs: Limit editing subscribers for waiting period users.
Does not let you subscribe other users if you are a guest or a
waiting period user.

Co-authored-by: Shubham Padia <shubhamapadia@gmail.com>
2018-07-30 12:12:51 -07:00
Shubham Padia 1015b2fc44 subs: Refactor and add tests for UserProfile.can_create_streams.
This is a preparatory refactor for adding
UserProfile.can_subscribe_other_users.
Although there existed a test for limiting users from creating
streams at `test_subs.test_user_settings_for_adding_streams`,
it did not test the logic inside can_add_streams, tests have
been added to solve that issue.
2018-07-30 12:12:51 -07:00
Tim Abbott 30a3c48ff3 thumbor: Fix missing virtualenv-clone package in dependencies.
This package is important in order to avoid scary-looking errors
whenever we upgrade the dependencies in thumbor.txt (where
virtualenv-clone isn't installed in the venv, and then gets installed
by the code we just added a TODO comment to.
2018-07-30 11:55:16 -07:00
Anders Kaseorg a5407e1c7d scripts: Replace node-wrapper with a symlink.
Commit 00e057bf44 (#4727) simplified
node-wrapper to a one-line wrapper script for performance.  Copying
the binary was proposed and rejected because node finds some of its
modules relative to its own path.  But a symlink doesn’t have that
issue, as you can verify with

    node -e 'console.log(require.resolve.paths("foo"))'

(To find its own path, node uses `process.execPath`, which resolves
symlinks, and there’s no plausible reason for that behavior to change.
https://github.com/nodejs/node/blob/v8.11.1/lib/module.js#L708-L717
https://github.com/nodejs/node/blob/v10.7.0/lib/internal/modules/cjs/loader.js#L761-L770)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-07-30 11:48:10 -07:00
Akash Nimare 1ce31ecd7d register: Update Zulip production server installation link.
Tweaked by tabbott to also recommend Zulip Cloud.
2018-07-30 11:43:09 -07:00
Akash Nimare e9e5a722c5 register: Update UI of realm_creation_fail page. 2018-07-30 11:41:07 -07:00
Steve Howell 6a4bacbd18 stream settings: Avoid redundant sorting step.
We don't need to get our original items in sorted
order, especially since we re-sort them using
a different comparison function.
2018-07-30 11:25:32 -07:00
Steve Howell f63dde8777 node tests: Add coverage to subs.js.
We test populate_stream_settings_left_panel() and use
its values to simulate data for filter_table().
2018-07-30 11:25:32 -07:00
Steve Howell 51edcb02c8 Streamline typeahead for stream links.
We don't need to get sorted streams in the "source"
function for typeahead, since we sort them later,
and we don't need to recalculate values.

This preserves the behavior that we include
unsubscribed streams in the typeahead, which is
probably intentional.
2018-07-30 11:25:32 -07:00
Steve Howell 132d0971ae Remove stream data stubs in typeahead tests.
We now use real stream_data functions, rather than
stubbing some of them to return strings instead of
structures.
2018-07-30 11:25:32 -07:00
Steve Howell 5c4d44bf3d refactor: Extract subs.get_stream_id_buckets().
This pulls the essential bucketing/sorting logic out
of filter_table().

The diff isn't quite as clean as I'd like, but some
of the code that got added back to filter_table() can be
eliminated in the future.  Basically, all the stuff
related to hidden ids can just be zapped if we go
to an approach of just re-building the DOM cleanly
whenever our filters change.
2018-07-30 11:25:32 -07:00
Steve Howell 68dba4515d refactor: Use triage_stream() to filter streams.
We replace two calls to stream_matches_query() with
a single call to triage_stream(), which prevents us
from doing the same is-subscribed checks twice.
2018-07-30 11:25:32 -07:00
Steve Howell 95edf68fd0 Refactor stream_matches_query to early-exit.
For the non-subscribed case, checking flags is a quick
way to reject streams vs. the more expensive indexOf
checks.
2018-07-30 11:25:32 -07:00
Steve Howell 95d136ca5e Extract search_util.js module.
We probably should have done this a while ago, even
though these functions are pretty tiny.  The goal here
is to make it easier to have more consistent search
semantics.

Our first use case is subs.js.  In this case we
are able to decouple a bit of generic string
matching from the subs-specific code.
2018-07-30 11:25:32 -07:00
Steve Howell 064d0f3c89 Extract stream_data.sort_for_stream_settings().
We move some data code from subs.js to stream_data.js.

It's not clear we have been using the optimal sort for
dealing with locales, but this change preserves the
current behavior.  The only subtle change here is that
we look up subs using a Dict now instead of a plain
JS object.
2018-07-30 11:25:32 -07:00
Steve Howell 5641c77c94 refactor: Introduce other_stream_ids in filter_table().
We now build up three buckets of stream ids for slightly
more consistent code that will help in future refactorings.
2018-07-30 11:25:32 -07:00
Vishnu Ks 32438cde9f version: Bump PROVISION_VERSION for py packages upgrade. 2018-07-30 10:09:19 -07:00
Vishnu Ks 6f17db5731 requirements: Upgrade pytz to 2018.5.
https://github.com/stub42/pytz/blob/master/tz/NEWS
2018-07-30 10:09:19 -07:00
Vishnu Ks 2b57e1f639 requirements: Upgrade wheel to 0.31.1. 2018-07-30 10:09:18 -07:00
Vishnu Ks 9e39e136b9 requirements: Upgrade twilio to 6.15.2.
Lot of bug fixes and changes. But nothing looks like
it will bfeak Zulip.
2018-07-30 10:06:23 -07:00
Vishnu Ks de77728c86 requirements: Upgrade SQLAlchemy to 1.2.10.
Bunch of bug fixes.
http://docs.sqlalchemy.org/en/latest/changelog/
changelog_12.html#change-1.2.10
2018-07-30 10:06:23 -07:00
Vishnu Ks 8b857db5ae requirements: Upgrade sphinx-rtd-theme to 0.4.1. 2018-07-30 10:06:23 -07:00
Vishnu Ks ec5fad4cac requirements: Upgrade Sphinx to 1.7.6. 2018-07-30 10:06:23 -07:00
Vishnu Ks 46338f5418 requirements: Upgrade setuptools to 40.0.0. 2018-07-30 10:06:23 -07:00
Vishnu Ks 95c35e70d5 requirements: Upgrade Scrapy to 1.5.1. 2018-07-30 10:06:23 -07:00
Vishnu Ks ebad4d3aaa requirements: Upgrade python-twitter to 3.4.2.
Minor changes and cleanups.
2018-07-30 10:06:23 -07:00
Vishnu Ks 060ed8cb92 requirements: Upgrade pyasn1-modules to 0.2.2.
rfc2986 module added and some documentation changes.
2018-07-30 10:06:23 -07:00
Vishnu Ks dedb8735ec requirements: Upgrade pyasn1 to 0.4.4.
Two minor bug fixes.
2018-07-30 10:06:23 -07:00
Vishnu Ks 77f88ca0d7 requirements: Upgrade py3dns to 3.2.0.
A bunch of minor bug fixes.
2018-07-30 10:06:23 -07:00
Vishnu Ks d58cb80f9d requirements: Upgrade psycopg2 to 2.7.5.
Bunch of bug fixes.

* Allow non-ascii chars in namedtuple fields (regression
  introduced fixing ticket #211).
* Fixed adaptation of arrays of arrays of nulls (ticket #325).
* Fixed building on Solaris 11 and derivatives such as
  SmartOS and illumos (ticket #677).
* Maybe fixed building on MSYS2 (as reported in ticket #658).
* Allow string subclasses in connection and other places (ticket #679).
* Don’t raise an exception closing an unused named cursor (ticket #716).
* Wheel package compiled against PostgreSQL 10.4 libpq and OpenSSL 1.0.2o.
2018-07-30 10:06:23 -07:00
Vishnu Ks d144eac101 requirements: Upgrade pip to 18.0. 2018-07-30 10:06:23 -07:00
Vishnu Ks ba8dcbff0d requirements: Upgrade ndg-httpsclient to 0.5.1.
Some minor changes.
* Clean up handling for description file - pull in content
  from this file into setup()
* Allows the nightly build to fail
* Add Trove version classifiers to make it explicit what
  is supported
* Add python_requires to help pip
* Drop support for EOL Python 2.6 and 3.3
2018-07-30 10:06:23 -07:00
Vishnu Ks e466400799 requirements: Upgrade lxml to 4.2.3.
Only one bug fix -> Fix sporadic crash during
GC when parse-time schema validation is used.
2018-07-30 10:06:23 -07:00
Vishnu Ks be16e1e509 requirements: Upgrade ipython to 6.5.0.
No major changes. Miscellaneous bug fixes
and compatibility with Python 3.7.
2018-07-30 10:06:23 -07:00
Vishnu Ks c0bbea377d requirements: Upgrade httpretty to 0.9.5. 2018-07-30 10:06:23 -07:00
Vishnu Ks a8bd83cbd6 requirements: Upgrade alabaster to 0.7.11.
A bug fix and some new features like showing next
and previous links at the bottom and top of the
page content.
2018-07-30 10:06:23 -07:00
Vishnu Ks 0a3eba2c0a requirements: Upgrade google-api-python-client to 1.7.4.
Mostly cleanups. Also updated to catch ServerNotFoundError
and retry the request.
2018-07-30 10:06:23 -07:00
Vishnu Ks fbbd43719b requirements: Upgrade django to 1.11.14. 2018-07-30 10:06:23 -07:00
Vishnu Ks 9deae31b09 requirements: Upgrade disposable-email-domains to 0.0.30. 2018-07-30 10:06:23 -07:00
Vishnu Ks 96b9007aa8 requirements: Upgrade cryptography to 2.3.
Has a security fix involving finalize_with_tag
function.
2018-07-30 10:06:23 -07:00
Vishnu Ks 7e93df2262 requirements: Upgrade boto to 2.49.0.
Updated the CA Bundle as well as some bucket encryption fixes.
2018-07-30 10:06:23 -07:00
Rohitt Vashishtha d83ef30904 notification-bot: @-mention the user subscribing you to a stream. 2018-07-30 09:50:48 -07:00
Rishi Gupta 71fb8d6195 user docs: Rename require-topics.md. 2018-07-29 23:55:33 -04:00
Lyla Fischer 65516a2908 user docs: Trim require-topics. 2018-07-29 23:50:52 -04:00
Lyla Fischer 570dc8b1db user docs: Update name-and-email-changes. 2018-07-29 23:46:58 -04:00
Lyla Fischer b75bdbc501 user docs: Update tweak allow-image-link-previews. 2018-07-29 23:02:16 -04:00