Tim Abbott
8b0c0c33b5
login: Fix logging for login/register actions.
...
Previously, Zulip's server logs would not show which user or client
was involved in login or user registration actions, which made
debugging more annoying than it needed to be.
2017-08-24 16:29:27 -07:00
Tim Abbott
a570a57fd5
login: Log which user was authenticated in mobile flows.
2017-08-24 16:29:27 -07:00
Tim Abbott
5206dad373
decorator: Fix is_browser_view handling of e.g. mobile apps.
...
We may end up with some endpoints that could be the browser or the
mobile apps, and we want the right default to happen here.
2017-08-24 16:26:57 -07:00
Tim Abbott
7ffc107061
decorator: Rename is_json_view to is_browser_view.
...
This improves clarity, now that we're planning to start logging in the
login/registration pages, which aren't browser views.
2017-08-24 16:25:08 -07:00
Tim Abbott
a3bc041894
send_password_reset_email: Simplify argument parsing.
2017-08-24 14:41:45 -07:00
Vishnu Ks
2b076ef822
management: Move all_users option to ZulipBaseCommand.
2017-08-24 14:35:18 -07:00
Vishnu Ks
9d043e7fb0
management: Use self.style attribute for colored output.
2017-08-24 14:29:32 -07:00
Vishnu Ks
f4df74d968
management: Use add_user_list_args in send_password_reset_email.
2017-08-24 14:29:32 -07:00
Vishnu Ks
65a20b3b99
management: Use add_user_list_args in remove_users_from_stream.
2017-08-24 14:29:32 -07:00
Vishnu Ks
0949924ea3
management: Use add_user_list_args in add_users_to_streams.
2017-08-24 14:29:32 -07:00
Vishnu Ks
a82b3f1ea5
management: Use add_user_list_args in turn_off_digests.
2017-08-24 14:29:32 -07:00
Vishnu Ks
f9a6dffe1a
management: Add add_user_list_args function to ZulipBaseCommand.
2017-08-24 14:29:32 -07:00
Steve Howell
87c4961597
Add zerver/lib/topic_mutes.py
...
This is mostly pure code extraction.
It also removes some dead code in update_muted_topic, where
were updating muted_topics spuriously before calling
do_update_muted_topic.
2017-08-24 14:20:35 -07:00
Robert Hönig
18a080cd6c
Don't handle json payload key errors inside webhooks.
...
Fixes first part of #6213 .
2017-08-24 11:33:14 -07:00
Tim Abbott
93fb6a1688
models: Add support for using the root subdomain.
...
Previously, realm.uri and realm.host didn't support using a subdomain
of the empty string (""), aka using the root domain.
Also, since we're already accessing self.subdomain, we don't need to
check REALMS_HAVE_SUBDOMAINS again.
2017-08-23 23:19:19 -07:00
Tim Abbott
f46f3871b4
integrations: Add support for using root subdomain.
...
This fixes up the URL/link construction to make the root subdomain work.
2017-08-23 23:18:36 -07:00
Tim Abbott
d44ac5c320
auth: Clean up google_oauth2_test arguments.
2017-08-23 20:50:03 -07:00
Tim Abbott
d3e3c704d4
do_create_realm: Remove unnecessary second return value.
...
Unlike creating a stream, there's really no reason one would want to
call the function to create a realm while uncertain whether that realm
already existed.
2017-08-23 20:07:17 -07:00
Tim Abbott
8a65fdce49
subdomains: Fix over-aggressive redirect to find_my_team.
...
If the root domain is a valid subdomain, we don't want to redirect
everyone away from it.
2017-08-23 20:07:17 -07:00
Tim Abbott
397340b454
test_events: Fix a missing mypy import.
2017-08-23 20:04:20 -07:00
Vishnu Ks
8418f0d30e
dev_login: List realms and show only users in the selected realm.
2017-08-23 19:27:32 -07:00
Tim Abbott
225debdbc5
test_events: Fix a misplaced type annotation.
2017-08-23 19:19:14 -07:00
Tim Abbott
8cbdaca9f5
fix_unreads: Fix handling of muted_topics on missing streams.
...
If the stream no longer exists, we can just ignored the muted_topics
entry.
2017-08-23 18:14:11 -07:00
Steve Howell
f797604e66
Add test coverage for unreads count (stream muting).
2017-08-23 18:00:59 -07:00
Tim Abbott
7918551fa9
fix_unreads: Help postgres figure out the most efficient query.
...
In theory, this shouldn't make a difference, but in practice, this
helps postgres make better use of our unread messages index.
2017-08-23 18:00:33 -07:00
Vishnu Ks
50fe1f7d9c
streams: Fix errors when notifications_stream is deactivated.
...
Fixes #6225 .
2017-08-23 17:54:05 -07:00
Vishnu Ks
58ad61a4ac
actions: Fix errors when notifications_stream is deactivated.
2017-08-23 17:53:52 -07:00
Vishnu Ks
59790f37fc
models: Create get_notifications_stream method in class Realm.
2017-08-23 17:50:34 -07:00
Steve Howell
ead40d8d08
Exclude muted streams from page_params.unread_msgs.count.
...
This adds one fairly cheap query, and gets the bankruptcy count
more in the ballpark of the home unread count. (But we don't
account for topics yet.)
2017-08-23 17:39:22 -07:00
Tim Abbott
75d9f66bf0
fix_unreads: Fix error handling with no recipient_ids.
...
Previously, this would send an invalid database query to postgres.
2017-08-23 17:15:33 -07:00
David Taylor
2bb5013efc
integrations: Add discourse integration.
...
The actual integration lives on the Discourse side.
2017-08-23 15:25:12 -07:00
Steve Howell
bc61fae6d2
fix_unreads: Actually update pre-pointer unread counts.
...
This fixes an oversight in the original version. (We have only
used this in controlled experiments.)
2017-08-23 13:13:23 -07:00
James Rowan
1ad3671801
test fixtures: Add some more quotes and remove some Oscar Wilde.
2017-08-23 13:00:39 -07:00
James Rowan
b9e0c69b15
test_data.source.txt: Replace postmodernism generator text with a play.
2017-08-23 13:00:39 -07:00
Steve Howell
2b4faaa847
Support non-search queries in /json/messages/matches_narrow.
...
For filters like has:link, where the web app doesn't necessarily
want to guess whether incoming messages meet the criteria of the
filter, the server is asked to query rows that match the query.
Usually these queries are search queries, which have fields for
content_matches and subject_matches. Our logic was handling those
correctly.
Non-search queries were throwing an exception related to tuple
unpacking. Now we recognize when those fields are absent and
do the proper thing.
There are probably situations where the web app should stop hitting
this endpoint and just use its own filters. We are making the most
defensive fix first.
Fixes #6118
2017-08-23 01:07:57 -07:00
Tim Abbott
06f8fd529d
realm: Add clear error message for too-long realm name.
...
This fixes an exception we saw in production, as well as fixing the
form to not offer ultra-long names that we don't allow.
2017-08-22 22:04:52 -07:00
Tim Abbott
669b1b8adb
mypy: Fix an annotation.
2017-08-22 17:39:24 -07:00
Steve Howell
110cfcb640
Support --all options in fix_unreads.
...
(We also changed the email metavar to accept multiple emails.)
2017-08-22 20:06:30 -04:00
Steve Howell
752bf14443
fix_unreads: Improve cursor handling.
...
Before adding the context manager, we were leaking cursors, which
was a non-issue for updating individual users, but it's easy to
fix.
2017-08-22 20:06:26 -04:00
Steve Howell
c5e083857b
fix_unreads: Mark pre-pointer messages as unread (unless muted).
2017-08-22 20:03:18 -04:00
Steve Howell
8b16c6060c
Split out fix_unreads management command.
...
Most of the code in show_unreads is for diagnosising unread
counts issues, and we may not use that often.
We're creating a dedicated fix_unreads management command with
less clutter.
2017-08-22 19:38:44 -04:00
Tim Abbott
7c37fc8909
auth: Improve robustness of not sending duplicate login emails.
...
Previously, we had a very not-robust check on the URL, which might
have caused cases like Google auth registration to not do the right
thing.
2017-08-22 16:26:30 -07:00
Preston Hansen
c31ef34491
enqueue_digest_emails: Only send digest emails weekly, on Tuesday.
...
Fixes : #6114 .
2017-08-22 15:07:53 -07:00
Rishi Gupta
4e7d87b676
onboarding.py: Add link to getting-your-organization-started-with-zulip.
...
Also has a few minor updates to the rest of the text.
2017-08-22 14:26:17 -07:00
Rishi Gupta
d296f29fa7
emails: Link to organization getting started guide in followup_day1.
2017-08-22 14:26:17 -07:00
Rishi Gupta
7c3f20d2ba
registration: Set is_realm_admin on user creation.
...
This makes it easier for later parts of the user creation/onboarding process
to condition on whether the user is a realm admin.
No change in behavior.
2017-08-22 14:26:17 -07:00
Umair Khan
a5c05f9812
push_notification: Retry event in case of error.
...
Fixes #5301
2017-08-22 11:16:48 -07:00
Umair Khan
62cae23601
queue: Extract event retry into retry_event().
...
This commit takes the code from zerver.lib.outgoing_webhook.request_retry
and creates a new generic function called retry_event.
2017-08-22 11:16:48 -07:00
Steve Howell
81e3f489f2
Use sender realm in user_profiles_from_unvalidated_emails.
...
This change is mostly based on a similar commit from hackerkid
in a feature branch. It borrows both code and ideas. Some of
it's my own stuff, as I was working on a newer branch.
We now call get_user_including_cross_realm_email() inside of
user_profiles_from_unvalidated_emails(), instead of using
get_user_profile_by_email.
This requires a few of our callers to pass down sender into us.
One consequence of this change is that we change the symptoms
for trying to send to emails outside of your realm. In some
cases, we simply raise an error that an email is invalid to us
instead of getting into the deeper validate_recipient_user_profiles
check.
2017-08-22 10:42:15 -07:00
Steve Howell
54edecd510
Replace adddressee.for_email() with for_user_profile().
...
This requires us to change not just the immediate caller, but
also some of their callers, to pass user_profile objects around
instead of emails.
2017-08-22 10:42:15 -07:00