Commit Graph

21002 Commits

Author SHA1 Message Date
Rishi Gupta
a7c8770f97 emails: Move enqueue_welcome_emails outside of signups queue.
The only thing this queue should do is sign you up for the newsletter, since
it is only populated if newsletter_data is not None.
2017-09-22 06:20:33 -07:00
Cynthia Lin
395a71a433 subs: Fix jerky stream subscriptions scrolling with up/down keys.
Fixes #4230.
2017-09-22 05:09:14 -07:00
Rishi Gupta
88bec16452 hotspots: Only narrow to PMs on first load.
After first load, the browser should set tutorial-status to started,
so this should automatically only happen once.

Fixes #6575.
2017-09-22 05:01:53 -07:00
julianasobreira
df2d448f7b python: Add lint rule banning 'from os.path import'.
This enforces our use of a consistent style in how we access Python
modules; "from os.path import dirname" is a particularly popular
abbreviation inconsistent with our style, and so it deserves a lint
rule.

Commit message and error text tweaked by tabbott.

Fixes #6543.
2017-09-22 04:55:38 -07:00
Brock Whittaker
e0a9310c41 subscriptions: Maintain scroll position when subscribing.
The current behavior is that when you subscribe to a new stream
the scroll position moves back up to the top because the list updates,
when in reality the user shouldn't notice this, so we record the
previous scroll position and then apply it once the DOM update is
finished before the next paint cycle.

Fixes: #6606.
2017-09-21 09:09:45 -07:00
Tim Abbott
7554958316 test_signup: Add a test for invite emails being cleared. 2017-09-21 06:15:11 -07:00
Tim Abbott
f706f657c0 signup: Fix invitation emails not being cleared properly.
Previously, invitation reminder emails were only being cleared after a
successful signup if newsletter_data was available, since that was the
circumstance in which we were calling the relevant queue processor
code.  Now, we (1) clear them when a human user finishes signing up
and (2) correctly clear them using the 'address' field of
ScheduleEmail, not user_id.
2017-09-21 06:15:11 -07:00
Tim Abbott
660d8d4bc4 ScheduledJob: Add a __str__ function to make them more easily printed. 2017-09-21 06:05:18 -07:00
Brock Whittaker
ae4c3873af navbar: Re-center home icon within <li> tab.
The home icon was too far to the right and did not have equal
padding within the <li> tab so this makes the padding an equal
10px on the left and right and none on the top and bottom.
2017-09-20 15:23:38 -07:00
Steve Howell
6ce68dfc3d minor: Remove obsolete lint check.
Some code that we had a lint exception for got cleaned up in a
recent commit.
2017-09-20 13:05:04 -07:00
Steve Howell
9110ff935e tests: Restore 100% coverage to views/messages.py.
A recent change moved some untested code into messages.py, which
requires 100% coverage.  Now we test bogus stream names in
exclude_muting_conditions.
2017-09-20 13:02:22 -07:00
Steve Howell
428d3027c2 Only require ids for finding DefaultStream objects.
We don't need full Realm objects to find DefaultStream
objects for a realm.  So now a few functions related to
adding/removing default streams use realm_id for lookups.

Similarly, we don't need a full Stream object to find
out if a stream exists in DefaultStream, so we do id
lookups there as well.

This sets us up to use thinner objects in callers.
2017-09-20 10:31:33 -07:00
Steve Howell
fd58d472a5 Use update_fields in do_deactivate_stream.
We are generally explicit about which fields we save.
2017-09-20 10:31:33 -07:00
Steve Howell
f13cb94d84 Have exclude_topic_mutes() accept a stream id.
We want to convert stream names to stream ids as close
to the "edges" of our system as possible, so we let our
caller do the work of finding the stream id for a stream
narrow.
2017-09-20 10:31:33 -07:00
Steve Howell
7b2340decd Extract stream_name_in_use().
Checking to see if a stream exists is more idiomatic
if we just use exists() from Django.  We encapsulate it
for case insensitivity purposes.
2017-09-20 10:31:33 -07:00
Steve Howell
9046efb71a Use prereg.users.set() in do_invite_users.
This is a bit more idiomatic for many-to-many relationships.
2017-09-20 10:31:33 -07:00
Steve Howell
8ad7133351 Cache active_user_ids() more directly.
We now have a dedicated cache for active_user_ids() that only
stores a list of user_ids.

Before this commit, active_user_ids() used a cache of UserProfile
dictionaries, so it incurred unnecessary deserialization costs for
all the user fields that it sliced away in a list comprehension.

Because the cache is skinnier here, we also need to invalidate it
less frequently.  Basically, all we care about is new users, realm
deactivations, and user deactivations.

It's hard to measure how much this will improve performance, because
the speedup for any operation here is pretty minor, but we use this
function a lot, so hopefully it will make the overall system more
healthy.
2017-09-20 10:31:33 -07:00
Steve Howell
cad3a35b6a Only require realm_id for active_user_ids().
This is mostly a preparatory commit for an upcoming optimization
related to stream data, but it probably does save us an
occasional DB hop to the realm table.
2017-09-20 10:31:33 -07:00
Steve Howell
26735eeeac Only require realm_id for get_active_user_dicts_in_realm().
This is a preparatory commit that will eventually allow us
to avoid fetching realm info that we don't need, in other
parts of the codebase.
2017-09-20 10:31:33 -07:00
Steve Howell
0966bf1a48 Simplify get_stream_cache_key().
Before this commit, we could pass in either a Realm object
or a realm_id to get_stream_cache_key().  Now we consistently
pass it a realm_id.
2017-09-20 10:31:33 -07:00
Steve Howell
0e24e6bdfa Add test_num_queries_with_streams() for home page. 2017-09-20 10:31:33 -07:00
Steve Howell
9773750375 tests: Count queries for home page. 2017-09-20 10:31:33 -07:00
Harshit Bansal
122167148a notifications: Fix the misalignment of emojis with the message text.
Fixes: #6579.
2017-09-20 10:30:35 -07:00
Harshit Bansal
4e8e7348da notifications: Fix the ugly inactive scrollbar in missed message emails.
Not sure why we have `overflow-y: scroll` in `messages` container in
missed messages email template when it is not a fixed width container
but anyway changing it to `overflow-y: auto` seems to be a safe change
as it will remove the ugly looking inactive scrollbar that was being
displayed there besides the `messages` container without changing the
functionality(if any).
2017-09-20 10:30:35 -07:00
akashnimare
ab11b7213b js: Replace ZulipDesktop useragent check for old desktop app.
Checking for window.bridge !== undefined is how the old desktop app
had always been tested for in the JS codebase.

Also, "Zulip Desktop" is how this should have been spelled in the first place.

Tweaked by tabbott to provide a proper commit message.

Fixes #6580.
2017-09-20 05:22:24 -07:00
Greg Price
0c7dbd2e8a message send: Cut is_active from the values query in get_recipient_info.
This is unused since the query started filtering on is_active=True, in
51d4f16fe "Ignore inactive users in get_recipient_info()."
2017-09-19 20:08:39 -07:00
Tim Abbott
64e950ae48 puppet: Add curl as a dependency.
It's needed by scripts/install-yarn.sh.  This hadn't been discovered
because most systems end up having curl installed even though it isn't
technically a required package.
2017-09-19 19:14:25 -07:00
Vishnu Ks
1d72928480 version: Increment version to facilitate python dep upgrade. 2017-09-19 19:07:58 -07:00
Vishnu Ks
db124ee78e requirements: Upgrade cffi to 1.11.0. 2017-09-19 19:07:58 -07:00
Vishnu Ks
9a2dcf3e0b requirements: Upgrade babel to 2.5.1. 2017-09-19 19:07:58 -07:00
Vishnu Ks
dafdb9fe53 requirements: Upgrade moto to 1.1.10.
Upgrading to 1.1.11 breaks the code.
2017-09-19 19:07:58 -07:00
Vishnu Ks
3926f70444 requirements: Upgrade wheel to 0.30.0. 2017-09-19 19:07:58 -07:00
Vishnu Ks
6774eec84b requirements: Upgrade tornado 4.5.2. 2017-09-19 19:07:58 -07:00
Vishnu Ks
345a01bef2 requirements: Upgrade SQLAlchemy to 1.1.14. 2017-09-19 19:07:58 -07:00
Vishnu Ks
5bee2584d1 requirements: Upgrade setuptools to 36.5.0. 2017-09-19 19:07:58 -07:00
Vishnu Ks
77b93b864f requirements: Upgrade PyJWT to 1.5.3. 2017-09-19 19:07:58 -07:00
Vishnu Ks
20e03b541e requirements: Upgrade psycopg2 to 2.7.3.1. 2017-09-19 19:07:58 -07:00
Vishnu Ks
ae987bede9 requirements: Upgrade pika to 0.11.0. 2017-09-19 19:07:58 -07:00
Vishnu Ks
723662a948 requirements: Upgrade oauthlib to 2.0.4. 2017-09-19 19:07:58 -07:00
Vishnu Ks
e011dd6f21 requirements: Upgrade ndg-httpsclient to 0.4.3. 2017-09-19 19:07:58 -07:00
Vishnu Ks
7dbef90efa requirements: Upgrade ipython to 6.2.0. 2017-09-19 19:07:58 -07:00
Vishnu Ks
75276078d4 requirements: Upgrade google-api-python-client to 1.6.3. 2017-09-19 19:07:58 -07:00
Vishnu Ks
77360fb6fb requirements: Upgrade fonttools to 3.15.1. 2017-09-19 19:07:58 -07:00
Vishnu Ks
b077f3c70f requirements: Upgrade django-statsd-mozilla to 0.4.0. 2017-09-19 19:07:58 -07:00
Joshua Pan
b201e2c311 hotkey.js: Simplify ctrl+[ hotkey logic. 2017-09-19 19:07:30 -07:00
Joshua Pan
d387291b6c reactions.js: Extract open_reactions_popover().
Added tests for open_reactions_popover() also.
2017-09-19 19:07:30 -07:00
Joshua Pan
67064a46e5 compose_state.js: Extract focus_in_empty_compose().
Wrote some tests for the function also.
2017-09-19 19:07:30 -07:00
Brock Whittaker
79933e27a4 Utilize lower 40px of the page for the left sidebar.
This makes the total left sidebar real estate 40px taller and brings
it flush with the bottom of the screen, giving more room to the
streams list.

Fixes: #6549.
2017-09-19 18:44:50 -07:00
Brock Whittaker
d1ef863f96 Add perfectScrollbar to default streams table.
This adds perfectScrollbar to the default streams table
because it currently is inside another perfectScrollbar which
actually makes it impossible to scroll the table normally without
enabling the perfectScrollbar library on this.

Fixes: #6391.
2017-09-19 18:43:33 -07:00
Vishnu Ks
5db810b5d7 docs: Fix example code in mock section. 2017-09-19 16:56:56 -07:00