Christian Hudon
1761a3b1c1
mypy: strict optional fixes.
2017-05-24 18:50:59 -07:00
Eklavya Sharma
2f227a97d3
mypy: Make zerver/lib/actions.py pass --strict-optional check.
2017-05-24 18:49:54 -07:00
Eklavya Sharma
1d8c316ff0
mypy: Make email_mirror pass --strict-optional check.
2017-05-24 18:49:54 -07:00
Eklavya Sharma
690b6025fb
mypy: Fix return type of a function.
2017-05-24 18:43:51 -07:00
Christian Hudon
14e871ce9c
Change order of arguments so output_dir is not optional. Helps mypy too.
2017-05-24 17:32:21 -07:00
Eeshan Garg
b5d271456a
webhooks/trello: Use parametric Markdown macros.
2017-05-24 17:00:19 -07:00
Eeshan Garg
e9b3b56105
webhooks/appfollow: Use parametric Markdown macros.
2017-05-24 17:00:19 -07:00
Eeshan Garg
c433a7981a
webhooks/airbrake: Use parametric Markdown macros for documentation.
2017-05-24 17:00:19 -07:00
Eeshan Garg
3cb758d339
templates: Support parametric Markdown macros for webhooks docs.
2017-05-24 17:00:19 -07:00
Tim Abbott
e9968a7a09
change_user_email: Use new get_user_for_mgmt function.
2017-05-24 15:29:59 -07:00
Vishnu Ks
17b1a8b260
Add get_user_for_mgmt function.
2017-05-24 15:27:48 -07:00
Tim Abbott
6aaca44e17
tests: Fix str/Text mypy issues in various tests.
2017-05-24 15:19:38 -07:00
Andrew Archer
6c3f89af1c
tests: Remove get_user_profile_by_email from numerous tests.
2017-05-24 15:19:20 -07:00
Rick Chern
e53d1c3885
tests: Remove get_user_profile_by_email from most tests.
2017-05-24 13:05:19 -07:00
Vishnu Ks
4403d179df
tests: Replace mit_user().email with mit_email().
2017-05-24 12:44:43 -07:00
Tim Abbott
e5f5e5c69f
tests: Remove unnecessary maxDiff settings.
...
Now that ZulipTestCase does this, we don't need it in all these
individual test modules.
2017-05-24 12:43:28 -07:00
umkay
ccc70445d6
mypy: Fix strict-optional errors for test files.
...
Fix mypy --strict-optional errors in zerver/tests
2017-05-24 12:43:28 -07:00
Tim Abbott
17328a7557
tests: Fix incorrect use of get_realm_by_email_domain.
2017-05-24 12:43:28 -07:00
Tim Abbott
895d4a795b
mypy: Fix a missing type annotation.
2017-05-24 12:14:13 -07:00
Umair Khan
9a04fef71b
testing: Reset active language.
...
After running translation tests, we should reset the active
language to isolate the change
2017-05-24 11:35:17 -07:00
Umair Khan
ebb9bd1a6a
testing: Avoid class variables to enforce isolation.
...
Class variables are shared between all instances and as a result
changes made by one instance are leaked to other instances.
2017-05-24 11:35:12 -07:00
Yago González
c0f2036435
api: Handle unregistered users in dev_fetch_api_key.
...
Fixes #4851 .
2017-05-24 09:39:44 -07:00
Andrew Archer
67cf4c4fb4
test_alert_words: Remove use of get_user_profile_by_email.
2017-05-23 22:14:10 -07:00
Eklavya Sharma
bac874b7e3
mypy: Allow None in passwords while creating users.
2017-05-23 21:56:50 -07:00
Eklavya Sharma
cc1937c8d5
mypy: Use Optional with strings where required.
2017-05-23 21:56:50 -07:00
kb0rg
eb2d0ebd09
Add test for do_deactivate_realm exit if deactivated.
...
Rename existing test_do_deactivate_realm to indicate test purpose
is to confirm user realm cache clears when a realm is deactivated.
2017-05-23 21:38:07 -07:00
kb0rg
e672ec62c1
Add test for encode_email_address with empty Gateway.
2017-05-23 21:38:07 -07:00
kb0rg
d625cca2f8
minor: Rename test class -> TestEmptyGatewaySetting.
2017-05-23 21:38:07 -07:00
vaibhav
f94c321567
Outgoing Webhook System: Add support for personal message triggers.
2017-05-23 21:35:09 -07:00
Lech Kaiel
6b49e667ef
tests: Replaced @zulip.com references with self.example_ functions.
...
This cleans up the excessive use of @zulip.com emails in the tests.
2017-05-23 20:59:50 -07:00
Mark Shannon
c7c47fe11d
Replace buggy NotImplemented with NotImplementedError().
2017-05-23 20:33:35 -07:00
ron-s
e5d4e0f0eb
Test: Add test_notify_of_new_user_internally.
2017-05-23 20:27:37 -07:00
Steve Howell
036f66aba3
Add test_get_avatar_url_with_user_profile_lookup test.
2017-05-23 18:35:45 -07:00
Vishnu Ks
b5c4a95ef1
test_bots.py: Use example_email instead of using the emails directly.
2017-05-23 18:31:43 -07:00
Vishnu Ks
dbdc0220b9
test_presence.py: Remove unused get_user_profile_by_email import.
2017-05-23 18:31:43 -07:00
Jason Michalski
a22d6d2c2a
test-backend: Enable test coverage in multi-process mode.
...
We enable data_suffix option when creating Coverage instances which
causes the output files to include the hostname, pid, and random id.
Before each run erase is called which clears all existing coverage data
files. And then at the end of the test run use the combine method which
merges the reports.
We collect coverage in the main process which collects data from
imports and also when running in single process mode. In the workers we
collect coverage in run_subsuite. This creates more stats files than
strictly required but I don't see a better place to save the stats when
stopping workers.
Note that this has the side effect of enabling parallel testing in
Travis CI.
2017-05-23 18:25:13 -07:00
Tim Abbott
109c5c677a
mypy: Fix return value annotation for google_oauth2_csrf.
2017-05-23 17:47:03 -07:00
Tim Abbott
17f87cfc9e
mypy: Fix missing Optional on process_exception.
2017-05-23 17:44:30 -07:00
Tim Abbott
315a9ee72e
handlers: Fix type of zulip_finish.
2017-05-23 17:36:19 -07:00
Sarah
4c4444b2dc
zerver/lib/actions: Fix PEP8 E712 error.
2017-05-23 16:29:49 -07:00
Tim Abbott
796cf8e5fd
mypy: Fix a buggy annotation in create_mirrored_message_users.
2017-05-23 15:45:56 -07:00
Andrew Archer
40b3330f2c
actions: Refactor get_user_profile_by_email to get_user.
2017-05-23 15:30:14 -07:00
Vishnu Ks
2b36df6b8f
test_sessions.py: Use helpers instead of get_user_profile_by_email.
2017-05-23 15:27:21 -07:00
Vishnu Ks
dafa89d52b
test_outgoing_webhook_system.py: Replace get_user_profile_by_email with example_user.
2017-05-23 15:27:21 -07:00
Vishnu Ks
f5d8e256aa
Add ZulipTestCase.example_email and ZulipTestCase.mit_email function.
2017-05-23 15:27:21 -07:00
Vishnu Ks
075b0cae70
test_bugdown.py: Remove unused get_user_profile_by_email import.
2017-05-23 15:27:21 -07:00
Vishnu Ks
7950f5242a
test_unread.py: Replace get_user_profile_by_email with get_user.
2017-05-23 15:27:21 -07:00
Vishnu Ks
789ef217a8
send_email.py: Remove unused get_user_profile_by_email import.
2017-05-23 15:27:21 -07:00
Tim Abbott
a833fa39b8
test_messages: Fix tests failing due to error message change.
2017-05-23 15:27:21 -07:00
Yago González
83f3959906
api: Remove unnecessary period for consistency.
2017-05-23 15:01:26 -07:00
Matt Long
19363b2b77
notification_settings: Refactor notification preference settings.
...
Previously, all notification preference setting had a dedicated test
and setter. Now, all are handled through a modular function using the
property_types framework.
2017-05-23 14:47:46 -07:00
Christian Hudon
c80e6edb4e
mypy: Declare models with null=True Optional.
2017-05-23 14:36:40 -07:00
Rick Chern
70d68f7e71
Refactoring: Replace get_user_profile_by_email() in lib/upload.py
2017-05-23 12:37:49 -07:00
Steve Howell
484f32646b
Rename file to test_new_users.py.
...
The old file name of test_send_login_emails was
overly specific, and we want to add some tests
related to other parts of the signup process.
2017-05-23 12:34:44 -07:00
umkay
dd55d5b683
mypy: Fix bad type annotation
2017-05-23 10:42:44 -07:00
umkay
a67e427293
mypy: Add comment for future use of Deque.
...
In the future, the type annotation should use Deque in order to be
compatible with the latest mypy version. See
https://github.com/python/mypy/pull/2845 for more info.
2017-05-23 10:42:44 -07:00
Konstantin Gukov
c40759562c
streams: Refactor get_user_profile_by_email to get_user.
2017-05-23 10:32:53 -07:00
Konstantin Gukov
dd76222a3f
Fetch system bots using new get_system_bot function.
...
This eliminate a bunch of uninteresting calls to
get_user_profile_by_email.
2017-05-23 10:30:40 -07:00
vaibhav
287aaa21b6
Outgoing Webhook System: Add outgoing webhook queue worker.
2017-05-23 08:21:08 -07:00
vaibhav
c7524f2f38
Outgoing Webhook System: Prevent infinite loops with outgoing webhooks.
2017-05-23 08:20:45 -07:00
vaibhav
53a8b2ac87
Outgoing Webhook System: Add DoRestCall and helper functions
2017-05-23 08:19:16 -07:00
Vishnu Ks
820dc9dd9a
Replace espuser@mit.edu with mit_user('espuser').
2017-05-22 19:02:42 -07:00
Vishnu Ks
99fc0e9e62
Replace starnine@mit.edu with mit_user('starnine').
2017-05-22 19:02:42 -07:00
Vishnu Ks
c680c5f1e8
Replace sipbtest@mit.edu with mit_user('sipbtest').
2017-05-22 19:02:42 -07:00
Vishnu Ks
7f06a7fa2a
Add ZulipTestCase.mit_user() function.
2017-05-22 19:02:42 -07:00
Vishnu Ks
05951074be
Make MITNameTest use ZulipTestCase instead of TestCase.
2017-05-22 19:02:42 -07:00
Eeshan Garg
ed8c6943f2
webhooks/airbrake: Use Markdown macros for documentation.
2017-05-22 18:19:14 -07:00
Eeshan Garg
baff121115
app_filters: Render HTML to render Jinja2 syntax within Markdown macros.
...
If a Markdown macro contains Jinja2 template code, it isn't rendered
because render_markdown_path calls template.render on the including
.md file before the macro has been included. And then the including
.md file is converted to HTML. Therefore, the template code within
a Markdown macro (if any) never gets rendered and is returned as it is.
Now, after the source .md file is converted to HTML,
render_markdown_path renders the resulting HTML so that any template
code within included macros (if any) is finally rendered.
2017-05-22 18:19:14 -07:00
JoshuaGoldin
0b88957d12
views: Use property_types for display settings.
...
This reduces semi-duplicated code here.
2017-05-22 18:11:08 -07:00
Lukasz Prasol
5eaccc550a
rate_limit: Make retry-after data machine-readable.
...
Fixes #4831 .
2017-05-22 17:35:12 -07:00
Lukasz Prasol
01f7d9d651
zerver/lib/events: Refactor get_user_profile_by_email to get_user.
...
Fixes #4831 .
2017-05-22 17:32:36 -07:00
Tim Abbott
accc7406da
views/presence: Refactor get_user_profile_by_email -> get_user.
2017-05-22 16:43:08 -07:00
Lech Kaiel
7995dd2de6
views/users: Refactor get_user_profile_by_email to get_user.
2017-05-22 16:42:16 -07:00
umkay
510b7a0489
mypy: Add ignore type for dynamically added field on LogRecord.
...
mypy will error because of the attribute "request" on the LogRecord
object. Since this field is added in our tests dynamically and is not
on the base object, for now we will ignore the type.
2017-05-22 14:38:39 -07:00
Vishnu Ks
bdf7c6c02f
models: Add get_user function.
...
This is intended to replace get_user_profile_by_email.
2017-05-22 11:26:44 -07:00
Tim Abbott
040067b2a2
invite: Remove obsolete bulk_invite_users endpoint.
2017-05-17 17:30:15 -07:00
Aditya Bansal
092d670e85
pep8: Add compliance with rule E261 to zerver/views/user_settings.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
cc2b334020
pep8: Add compliance with rule E261 to zerver/views/streams.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
11aeeec2ab
pep8: Add compliance with rule E261 to zerver/views/registration.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
5cdfd899dc
pep8: Add compliance with rule E261 to zerver/views/realm.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
db3c05002a
pep8: Add compliance with rule E261 to zerver/views/presence.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
634c08c3dd
pep8: Add compliance with rule E261 to zerver/views/messages.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
35e3d57ed9
pep8: Add compliance with rule E261 to zerver/views/invite.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
1979476152
pep8: Add compliance with rule E261 to zerver/views/integrations.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
fe3b42c8f8
pep8: Add compliance with rule E261 to zerver/views/home.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
c504b013b1
pep8: Add compliance with rule E261 to views/auth.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
57bc847874
pep8: Add compliance with rule E261 to test_urls.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
85aa07e2d4
pep8: Add compliance with rule E261 to zerver/lib/upload.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
b7c49299a6
pep8: Add compliance with rule E261 to test_runner.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
e3003653c7
pep8: Add compliance with rule E261 to test_helpers.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
26ff19f005
pep8: Add compliance with rule E261 to zerver/lib/test_classes.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
1f1fbd7648
pep8: Add compliance with rule E261 to zerver/lib/notifications.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
84eadc0562
pep8: Add compliance with rule E261 to zerver/lib/message.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
03e43b78ee
pep8: Add compliance with rule E261 to zerver/lib/html_diff.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
b822e75a4b
pep8: Add compliance with rule E261 to export.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
4c373dde63
pep8: Add compliance with rule E261 to events.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
1a184263b8
pep8: Add compliance with rule E261 to zerver/lib/db.py.
2017-05-18 03:00:32 +05:30
Aditya Bansal
420230b342
pep8: Add compliance with rule E261 to actions.py.
2017-05-18 03:00:32 +05:30
Umair Khan
bc15085098
gcm: Increase retries to 10 while pushing.
2017-05-17 12:14:32 -07:00
Umair Khan
38ecc35cd9
push_notifications: Catch IOError while pushing to GCM.
2017-05-17 12:14:32 -07:00
Umair Khan
7e8f4ca4e8
push_notifications: Include GCM in end-to-end test.
2017-05-17 08:09:19 -07:00
Tim Abbott
be3dc12a98
models: Move several __unicode__ methods to abstract classes.
...
This makes it possible to print ArchivedMessage, ArchivedUserMessage,
and ArchivedAttachment objects.
2017-05-16 21:04:58 -07:00
Tim Abbott
850519b314
api: Move cross_realm_bots into the register_ret response.
...
This is probably not the right long-term solution to the cross-realm
bots problem (that solution is probably to eliminate cross-realm bots
and replace them with per-realm bots). But in the short term, this
will at least make it possible for mobile apps to interact with these
cross-realm bots using the `realm_user` data set.
2017-05-16 20:23:13 -07:00
Eeshan Garg
4f358f4034
webhooks/gitlab: Support pushing a local branch without commits.
...
This mostly just adds a test for GitLab related to the last commit.
2017-05-16 19:33:43 -07:00
Eeshan Garg
5687b2cdc5
webhooks/github*: Support pushing a local branch without commits.
...
Changes made to get_push_commits_event_message in
zerver/lib/webhooks/git.py are common to all Git integrations
that use get_push_commits_event_message. These include github,
github_webhook, gitlab, gogs, bitbucket, bitbucket2. In some
cases (for instance, gitlab), no further changes to gitlab/view.py
will be required to support pushing a local branch without commits;
adding a fixture and tests should suffice.
2017-05-16 23:51:19 -02:30
Tim Abbott
cab908b664
api: Move notifications_stream into the register_ret API.
...
While we're at it, we at least fix the API to use a stream ID, not a
stream name, to refer to the notifications stream.
2017-05-16 18:57:14 -07:00
Tim Abbott
0b2388bda9
push_notifications: Remove DeviceTokenType logic.
...
The syntax wasn't valid on Python 3.5, and the new code is somewhat
more readable anyway.
2017-05-16 12:26:55 -07:00
Tim Abbott
9d63a5ab3a
push_notification: Delete obsolete DBX_IOS_APP_ID code.
...
I'm not sure that this was ever actually used, but it's definitely
just clutter for Zulip today.
2017-05-16 12:26:55 -07:00
Umair Khan
286f9a40e7
push_notifications: Bring file to 100% coverage.
2017-05-16 12:26:55 -07:00
Umair Khan
fa5c66c439
push_notifications: Add num_push_devices_for_user tests.
2017-05-16 12:26:55 -07:00
Umair Khan
88f5d29e19
push_notifications: Add send_to_push_bouncer tests.
2017-05-16 12:26:55 -07:00
Umair Khan
af27ad607a
push_notifications: Add handle_push_notification tests.
2017-05-16 12:26:55 -07:00
Umair Khan
8a6498f55d
push_notifications: Create BouncerTestCase.
...
Adds bounce_request method to simulate a bounce.
2017-05-16 12:26:55 -07:00
Umair Khan
5907877038
push_notifications: Add test for send_notifications_to_bouncer.
2017-05-16 12:26:55 -07:00
Umair Khan
fab4249893
push_notifications: Add get_gcm_payload tests.
2017-05-16 12:26:55 -07:00
Umair Khan
136a950041
push_notifications: Add test for APNs payload.
2017-05-16 12:26:55 -07:00
Umair Khan
47d0f7d996
push_notifications: Add tests for get_alert_from_message.
2017-05-16 12:26:55 -07:00
Umair Khan
df0d29aaff
push_notifications: Add response_listener tests.
2017-05-16 12:26:55 -07:00
Umair Khan
fc0b9358e7
handle_push_notification: Remove the if condition.
...
'if apple_devices or android_devices' doesn't servce any purpose.
2017-05-16 12:26:55 -07:00
Umair Khan
ab411ab7b3
push_notifications: Delete remote server tokens in APNs response.
2017-05-16 12:26:55 -07:00
Umair Khan
33332539df
send_android_push_notification: Delete correct tokens.
...
Now this function will delete tokens from RemotePushDeviceToken if it
is running on notification bouncer or PushDeviceToken if it is running
on a server which doesn't use notification bouncer.
2017-05-16 12:26:55 -07:00
Umair Khan
4a864c7515
push_notification: Send data to notification bouncer.
2017-05-16 12:26:55 -07:00
Umair Khan
4e2a6834d8
authenticated_rest_api_view: Use is_remote_server.
...
Using is_remote_server is more readable and future-proof since
it provides a level of abstraction.
2017-05-16 12:26:55 -07:00
Steve Howell
e6cc0ffcdd
Eliminate PMs to non-subscribers when creating streams.
...
This should make stream creation relatively fast again, since we
will no longer send O(N) PMs out to tell folks the stream was
created.
2017-05-16 10:43:27 -07:00
Harshit Bansal
c549dea9ac
bugdown: Fix the regex used for unicode emoji matching.
...
The regex we were using didn't cover all the unicode blocks
to which our emojis belong. This commit fixes the regex to
include all the unicode blocks and also updates the
corresponding JS regex in marked.js.
Fixes : #3460 .
2017-05-16 09:05:42 -07:00
Harshit Bansal
f8824ea623
bugdown: Fix the `unicode_emoji_to_codepoint()` function.
...
Unicode codepoints are of minimum length 4, padded with extra
zeroes if the length is less than 4. This commit fixes the
`unicode_emoji_to_codepoint()` to ensure that the codepoint
it generates are of correct length.
2017-05-16 09:05:42 -07:00
Steve Howell
c8dd056ac5
Extract you_were_just_subscribed_message().
2017-05-16 09:01:00 -07:00
Steve Howell
bbd8c1c49b
Do not send PMs to subscribers when creating streams.
...
When we create a stream, we usually send a welcome message on the
stream itself as well as an announcement on the announcement stream,
but we no longer PM the individual users. Hopefully this will be
more pleasant for users (less spammy), and it also will make creating a
stream a lot faster.
We still send notifications when we add subscribers to an existing
stream.
2017-05-16 08:58:17 -07:00
Tim Abbott
847f469cf2
subdomains: Toggle various links with SUBDOMAINS_HOMEPAGE.
2017-05-15 21:54:35 -07:00
Steve Howell
e2732dabf3
Send welcome messages as part of /create_realm flow.
...
We now pre-populate the streams in DEFAULT_NEW_REALM_STREAMS
(social/general/zulip, unless somebody changes settings.py) with
welcome messages. This makes the streams appear to be active
right away, and it also gives the Zulip realm less of a
blank-slate feeling when you create it.
This change only affects the normal web-based create-realm flow.
It doesn't impact the management commands for creating realms
or setting default streams.
2017-05-15 20:38:08 -07:00
Eeshan Garg
21e0db03e1
webhooks/appfollow: Migrate docs to Markdown.
2017-05-15 20:14:23 -07:00
Eeshan Garg
0b5711aa7e
webhooks/airbrake: Migrate docs to Markdown.
2017-05-15 20:14:23 -07:00
Eeshan Garg
7227f488c8
webhooks: Add support for a GitHub push event deleting a branch.
...
Fixes : #4742 .
2017-05-16 00:11:20 -02:30
Tim Abbott
0b46be2fed
Avoid UserActivity logging for RemoteZulipServer requests.
...
We had a somewhat messy bug where we were sending invalid entries to
the UserActivity queue when using the push notification bouncer.
2017-05-15 17:15:01 -07:00
Tim Abbott
97abaae9af
home: Remove now-unnecessary page_params_core_fields duplication.
...
Also, we update the documentation to make the overall system a bit
clearer.
Fixes #4628 .
2017-05-13 22:58:18 -07:00
Tim Abbott
f36000d670
docs: Fix last reference to old fixtures directory structure.
2017-05-13 21:39:12 -07:00
Eeshan Garg
597db11a98
webhooks: Rename webhook fixtures to only include event type.
...
All webhook fixtures have now been renamed from
<webhook_name>/fixtures/<webhook_name>_<event_type>.json to
<webhook_name>/fixtures/<event_type>.json.
2017-05-13 20:07:40 -02:30
Tim Abbott
acb3c1e7ff
test_templates: Fix errors from compare.html template.
2017-05-13 14:57:06 -07:00
Eeshan Garg
10dcc99983
zerver/decorators: Log all exceptions raised in api_key_only_webhook_view.
...
Fixes #4742 .
2017-05-13 14:53:47 -07:00
Tim Abbott
51978d0f89
tests: Fix failing login tests.
...
Apparently I missed these when updating
4d2bb0dec8
.
2017-05-13 13:05:15 -07:00
Tim Abbott
4d2bb0dec8
templates: Clean up visuals for account-not-found SSO flow.
...
Also, clarify that the account that isn't found is your Zulip account,
not a GitHub/Google Oauth account.
2017-05-13 12:46:05 -07:00
Tim Abbott
0b5954feee
Increase initial messages on user creation from 100 to 1000.
...
This makes the new user experience in an active community like
chat.zulip.org substantially nicer, since the new user will have the
same level of initial messages to populate topics (etc.) as an
existing user who is caught up.
Without this, there was an undue level of fading-for-inactivity in the
default streams.
2017-05-13 12:16:05 -07:00
Tim Abbott
25516c6949
models: Update comment explaining order of display recipients.
2017-05-12 13:53:06 -07:00
Tim Abbott
72abd4f12d
mentions: Fix subject line and sender for missed-message mentions.
...
This fixes 2 issues:
* The term "@-mentioned" is simplified to "mentioned".
* We would incorrectly list other people who sent context messages as
among the people who mentioned you.
2017-05-12 13:50:25 -07:00
James Rowan
0facaa0797
Changes sender and subject lines for missed message emails.
...
Now, in the event of messages between two other members of a huddle,
the missed message emails are threaded in "Group PMs with name1 and
name2" and not in separate threads by sender.
Also, now the order of recipients in get_display_recipient consistent
with the order of names that appears in the list of personal messages
on the left sidebar.
Fixes most of #4553 .
2017-05-12 13:29:43 -07:00
Tim Abbott
13a37f74a1
users: Ban names shorter than 3 characters.
...
The empty string is not a reasonable name.
2017-05-11 19:21:51 -07:00
Cory Lynch
b1bfe9f42e
Add migration to force lowercase existing realm emoji.
...
Since realm emoji are now required to be lowercase,
an appropriate migration was added to retroactively
fix any emoji that might have contained uppercase
letters.
Also, the validator on the model was changed to
reject uppercase letters.
2017-05-11 19:10:21 -07:00
Cory Lynch
68e5898a07
emoji.py: Add restriction that realm emoji must be lowercase.
...
Raises error if emoji name has an uppercase letter in it.
2017-05-11 19:10:21 -07:00
Tim Abbott
6eada74bfe
portico: Fix exception if no realm description is set.
...
This was caught via Casper tests, which I regret not running.
2017-05-11 14:23:46 -07:00
Tim Abbott
223624be25
settings: Add support for longer, markdown-powered realm descriptions.
...
This makes it possible to create much prettier login pages.
Further work on styling may be necessary.
2017-05-11 13:59:46 -07:00
Umair Khan
329b377e6a
push_notification: Add uses_notification_bouncer().
...
This function abstracts the logic to ascertain if we are using
notification bouncer service or not. Makes our code more
maintainable.
2017-05-11 12:04:16 -07:00
Umair Khan
112a67097b
push_notifications: Don't get alert message.
...
Now we set the alert message in the payload functions for both GCM and APNs so
no need to get it here.
2017-05-11 12:04:16 -07:00
Umair Khan
3c32bc6d8a
push_notification: Create get_gcm_payload.
2017-05-11 12:04:16 -07:00
Umair Khan
d90774b9db
push_notifications: Create get_apns_payload.
...
This function creates the payload that we will send to APNs.
2017-05-11 12:04:16 -07:00
Umair Khan
5ff7fdf83a
push_notification: Create get_alert_from_message.
...
This function returns the alert shown by iOS or Android device.
2017-05-11 12:04:16 -07:00
Umair Khan
10ed47156d
api_auth: Use is_remote_server.
2017-05-11 12:02:26 -07:00
Umair Khan
faf190ff34
validate_api_key: Use is_remote_server.
2017-05-11 12:02:26 -07:00
Umair Khan
252fa53816
api: Add is_remote_server().
...
This function abstracts the logic to ascertain the source of API
auth request.
2017-05-11 12:02:26 -07:00
Umair Khan
dc2a9a4c5b
github: Add sign up button on registration page.
2017-05-10 17:49:08 -07:00
Umair Khan
d56db0a3b4
auth.py: Add confirmation handlers for signup.
...
These handlers will kick into action when is_signup is False. In case
the account exists, the user will be logged in, otherwise, user will
be asked if they want to proceed to registration.
2017-05-10 17:20:34 -07:00
Umair Khan
11426a2cec
log_into_subdomain: User should be None in signup.
2017-05-10 17:20:34 -07:00
Tim Abbott
5019b53492
auth: Pass is_signup option around.
2017-05-10 17:20:34 -07:00
Tim Abbott
ce3974b40e
auth: add is_signup option to login_or_register_remote_user.
2017-05-10 17:20:34 -07:00
Tim Abbott
e8eaec0a18
mypy: Fix various errors caught by removing cache_with_key.
2017-05-10 14:37:20 -07:00
Tim Abbott
e55b4b0d43
invites: Fix buggy access to non-existant user_profile.name.
2017-05-10 14:31:24 -07:00
Tim Abbott
a85c066722
confirmation: Fix race with invite and email change.
2017-05-10 14:31:24 -07:00
Tim Abbott
a0a50d410c
test_docs: Add tests to ensure all integrations present.
2017-05-10 11:30:32 -07:00
Tim Abbott
a3ddd94aa3
integrations: Remove unnecessary email_integration_enabled.
...
Previously, we were ending up with 2 copies of the email integration
in there.
2017-05-10 11:24:25 -07:00
Tim Abbott
248785e66e
integrations: Fix missing links to non-webhook integrations.
...
Apparently help_content was attached to the wrong class.
Fixes #4744 .
2017-05-10 11:17:56 -07:00
Tim Abbott
232592cc9f
test_sessions: Extends tests to reach 100% coverage of sessions.py.
...
Fixes #3980 .
2017-05-10 10:12:21 -07:00
andrewallen00
53f1f75fcb
Add tests for zerver/lib/sessions.py.
2017-05-10 10:12:14 -07:00
Tim Abbott
0e05f3f4ee
emails: Remove pre-email-migration scheduled jobs.
...
This fixes an issue introduced when we migrated the format of all of
our emails, which caused any old ScheduledJob rows to be corrupted.
2017-05-10 09:45:40 -07:00
Tim Abbott
9f7236eec1
message: Remove unused old gravatar_hash field from message dicts.
...
This was deprecated and replaced some 4 years ago.
2017-05-09 22:33:27 -07:00
Tim Abbott
e3505bd5ae
avatar: Fix memcached query loop fetching messages.
...
This fixes a major performance issue, where we would fetch
user_profile objects inside a code path that had already bulk-fetched
the necessary user objects.
Like the similar related changes we just made, the fix is to marshall
and pass the data into the avatar library directly.
2017-05-09 22:33:27 -07:00
Tim Abbott
0990246289
avatar: Fix memcached query loop fetching bots.
...
Similar to the related issue with users, the new avatar storage had
accidentally added database queries in a loop to this code path.
2017-05-09 22:33:27 -07:00
Tim Abbott
8e47dc73bd
avatar: Fix loop doing database queries in register.
...
Due to the refactoring of the avatar URL codepath that added realm IDs
to the URLs, we ended up calling `get_user_profile_by_email` inside
`get_avatar_url`, which in turns was called in a loop over all users
in a realm.
Needless to say, this resulted in a significant performance problem.
We fix this issue by passing in the data needed to compute the avatar
URL, rather than looking it up by email address.
2017-05-09 22:33:27 -07:00
Tim Abbott
676d4f32fc
avatar_url: Fix unnecessary database query.
...
If we have a user_profile object, there's no reason to fetch it again
from memcached.
2017-05-09 22:33:27 -07:00
Tim Abbott
c8b0ac0a05
avatar_hash: Extract user_avatar_path_from_ids.
2017-05-09 22:31:24 -07:00
Tim Abbott
bd3e338c35
templates: Fix URL coverage for new files.
2017-05-09 18:42:24 -07:00
Tim Abbott
fc24a56fc5
test_docs: Fix expected text in /hello page.
2017-05-09 17:23:38 -07:00
Tim Abbott
df6dba9673
test_home: Fix expected text in /hello page.
2017-05-09 16:59:33 -07:00
Tim Abbott
2d97db3518
streams: Add endpoint for modifying properties of a single stream.
...
This is likely to be the more common endpoint for API clients like the
mobile apps to interact with when modifying streams.
2017-05-09 13:42:34 -07:00
kunall17
e087bc24f8
streams: Migrate stream property changes to new REST endpoint.
...
This is one of the last major endpoints that were still done in the
pre-REST style.
While we're at it, we change the endpoint to expect a stream ID, not a
stream name.
2017-05-09 13:39:23 -07:00
Rohitt Vashishtha
0414ac6df5
bugdown: Convert GitHub image-preview urls to image urls.
...
This makes inline image previews work for links to image files' pages
on GitHub.
Fixes #4658 .
2017-05-09 11:22:37 -07:00
Umair Khan
4971b7ff9f
testing: Add errored tests to failed tests list.
...
Fixes : #4716 .
2017-05-09 09:36:59 -07:00
Steve Howell
b609911656
Remove unused get_user_profile_by_email() imports.
2017-05-08 11:57:38 -07:00
Steve Howell
3b2a3601c1
tests: Add ZulipTestCase.notification_bot().
2017-05-08 11:57:38 -07:00
Steve Howell
3a031f6814
test: Use example_user() in more places.
...
This commit replaces calls to get_user_profile_by_email() with
calls to self.example_user() by introducing a local variable.
2017-05-08 11:57:38 -07:00
Steve Howell
7f9057ba99
tests: Use example_user() in more places.
2017-05-08 11:57:38 -07:00
Steve Howell
6bc8424c71
Use self.example_user() in more places.
...
This fixes most cases where we were assigning a user to
the var email and then calling get_user_profile_by_email with
that var.
(This was fixed mostly with a script.)
2017-05-08 11:57:38 -07:00
Steve Howell
942db9b6c5
tests: Added ZulipTestCase.example_user() function.
...
The example_user() function is specifically designed for
AARON, hamlet, cordelia, and friends, and it allows a concise
way of using their built-in user profiles. Eventually, the
widespread use of example_user() should help us with refactorings
such as moving the tests users out of the "zulip.com" realm
and deprecating get_user_profile_by_email.
2017-05-08 11:57:38 -07:00
Aditya Bansal
3a097a2a6c
pep8: Add compliance with rule E261 to semaphore/view.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
bf24e0c9db
pep8: Add compliance with rule E261 to stripe/view.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
3791638985
pep8: Add compliance with rule E261 to semaphore/tests.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
21dd1384b4
pep8: Add compliance with rule E261 to pivotal/view.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
43c978e0f4
pep8: Add compliance with rule E261 to pagerduty/view.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
54989605e0
pep8: Add compliance with rule E261 to github/tests.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
f3c1557529
pep8: Add compliance with rule E261 to beanstalk/view.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
27a1b23392
pep8: Add compliance with rule E261 to ioloop_logging.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
5c82319101
pep8: Add compliance with rule E261 to handlers.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
72d5760d7c
pep8: Add compliance with rule E261 to descriptors.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
b48f07ebc0
pep8: Add compliance with rule E261 to test_users.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
feb332920c
pep8: Add compliance with rule E261 to test_typing.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
191fead5a3
pep8: Add compliance with rule E261 to test_type_debug.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
fcb1e4d4f1
pep8: Add compliance with rule E261 to test_report.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
2b1c6f7749
pep8: Add compliance with rule E261 to test_queue_worker.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
fd4ac33073
pep8: Add compliance with rule E261 to test_push_notifications.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
0478a9d7f3
pep8: Add compliance with rule E261 to test_export.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
7f5f4a511a
pep8: Add compliance with rule E261 to test_decorators.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
ce2790aae2
pep8: Add compliance with rule E261 to test_bots.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
689eb537ae
pep8: Add compliance with rule E261 to storage.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
ce4c4f4e0f
pep8: Add compliance with rule E261 to migrations/0001_initial.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
8a6617e304
pep8: Add compliance with rule E261 to set_default_streams.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
7271fc8a7b
pep8: Add compliance with rule E261 to import.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
d8db632d21
pep8: Add compliance with rule E261 to enqueue_file.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
6a53c53588
pep8: Add compliance with rule E261 to email_mirror.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
f1b2f10574
pep8: Add compliance with rule E261 to dump_messages.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
0999a74ef7
pep8: Add compliance with rule E261 to unminify.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
724c6d384f
pep8: Add compliance with rule E261 to type_debug.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
76d28a7cc7
pep8: Add compliance with rule E261 to timeout.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
6ad22f4092
pep8: Add compliance with rule E261 to streams.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
babdb8dd64
pep8: Add compliance with rule E261 to statistics.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
df2b49af66
pep8: Add compliance with rule E261 to sessions.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
94b7e4de9e
pep8: Add compliance with rule E261 to rest.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
19adf85d00
pep8: Add compliance with rule E261 to request.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
f7f09df773
pep8: Add compliance with rule E261 to rate_limiter.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
e5bf7e81e6
pep8: Add compliance with rule E261 zerver/lib/queue.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
69cf11d786
pep8: Add compliance with rule E261 to push_notifications.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
d561c758cd
pep8: Add compliance with rule E261 to parallel.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
cbaace87cd
pep8: Add compliance with rule E261 to email_mirror.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
3687dcdb3f
pep8: Add compliance with rule E261 digest.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
0fc16273b9
pep8: Add compliance with rule E261 to ccache.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
101d334b80
pep8: Add compliance with rule E261 to camo.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
e7e7c1a3cd
pep8: Add compliance with rule E261 to cache_helpers.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
821be4519c
pep8: Add compliance with rule E261 to cache.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
1e61e734c8
pep8: Add compliance with rule E261 to bulk_create.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
c23901c3a8
pep8: Add compliance with rule E261 to fenced_code.py.
2017-05-07 23:21:50 -07:00
Aditya Bansal
6bc653959f
Remove empty comment statement from taiga/view.py.
2017-05-07 23:21:50 -07:00
Umair Khan
b8afd249e4
testing: Make test_hit_ratelimits deterministic.
...
On slower systems or virtual environments, when you are running
tests in parallel mode, sometimes the time taken to send messages
in this test exceeds 1 second which resets the limit.
2017-05-06 17:28:16 +05:00
Rishi Gupta
962b56efbd
settings: Change example NOREPLY_EMAIL_ADDRESS to have a display name.
...
We used to use constructions like
from_email = "Zulip <%s>" % (settings.NOREPLY_EMAIL_ADDRESS,)
but no longer do. All references to settings.NOREPLY_EMAIL_ADDRESS in the
codebase now do not append a display name.
2017-05-05 14:38:25 -07:00
Rishi Gupta
8321bd3f92
notifications: Refactor missed message queue to use send_email.
...
This commit also changes the sender from "Zulip <NOREPLY_EMAIL_ADDRESS>" to
NOREPLY_EMAIL_ADDRESS when it is not set explicitly.
2017-05-05 14:38:25 -07:00
Rishi Gupta
fda65b3b37
missed messages: Change subject to always use the plural for Zulips.
...
Works better for threading in email clients.
2017-05-05 14:38:25 -07:00
Rishi Gupta
60e0bb3a04
send_email: Add reply_to argument to send_email.
...
django.core.mail.send_mail doesn't support reply_to, so we have to switch to
EmailMultiAlternatives.
2017-05-05 14:38:25 -07:00
Rishi Gupta
face3077df
email: Rename template_payload to context.
2017-05-05 14:38:25 -07:00
Rishi Gupta
6a8ed81439
send_email: Remove tags argument from send_future_email.
...
The tags argument was only being used by the Mandrill pathway, which is no
longer around.
2017-05-05 14:38:25 -07:00
Rishi Gupta
6b9f25a58a
Remove duplicated code between send_future_email and send_email pathway.
...
Note that this change restricts the context for any template that uses
send_future_email to be jsonable.
2017-05-05 14:38:25 -07:00
Rishi Gupta
72ee5e5159
email: Make context for invitation_reminder template jsonable.
...
We are about to change send_future_email in a way that will require all
callers to use jsonable context.
2017-05-05 14:38:25 -07:00
Rishi Gupta
68c172192b
email.py: Change recipients argument of send_future_email to to_email.
2017-05-05 14:38:25 -07:00
Rishi Gupta
0d4c1b0467
notifications: Move send_future_email to zerver/lib/send_email.py.
2017-05-05 14:38:25 -07:00
Rishi Gupta
d70e09b41d
notifications: Change sender arg of send_future_email to from_email.
...
This commit is a step towards the goal of replacing most of the
send_future_email pathway with a call to send_email.
Note that this commit changes the default value of sender from "Zulip
<NOREPLY_EMAIL_ADDRESS>" to "NOREPLY_EMAIL_ADDRESS". NOREPLY_EMAIL_ADDRESS
will soon be changed to have the Zulip in front.
2017-05-05 14:38:25 -07:00