Tim Abbott
86e3d1effc
events: Fix default language realm-time sync and add test.
...
We previously didn't apply the default language event change
correctly.
Not super important as a bug, since we require the user to reload the
browser for their changes to take effect, but this will save time if
we ever change that.
2017-03-23 19:08:17 -07:00
Tim Abbott
99515c2d34
test_events: Add tests for default streams being None.
2017-03-23 19:04:13 -07:00
Tim Abbott
adcf8263d6
tests: Fix passing non-unicode strings to do_set_realm_property.
...
This fixes test failures on Python 3 caused by
a98bce98c6
.
2017-03-23 18:37:12 -07:00
Tim Abbott
a98bce98c6
realm: Add registry of realm property types.
...
This makes it possible for us to do some convenient validation for
developers, checking whether the correct types are passed for each
each realm property.
2017-03-23 17:55:50 -07:00
Sarah Stringer
09f66b5c6d
actions: Add do_set_realm_property function and migrate to it.
...
zerver/lib/actions: removed do_set_realm_* functions and added
do_set_realm_property, which takes in a realm object and the name and
value of an attribute to update on that realm.
zerver/tests/test_events.py: refactored realm tests with
do_set_realm_property.
Kept the do_set_realm_authentication_methods and
do_set_realm_message_editing functions because their function
signatures are different.
Addresses part of issue #3854 .
2017-03-23 17:52:45 -07:00
Umair Khan
2d4a1f93ff
testing: Bring zproject.backends coverage to 100%.
2017-03-23 17:12:58 -07:00
Tim Abbott
36988f9375
mypy: Fix Optional typing issues in tex.py.
2017-03-23 15:49:08 -07:00
Akash Kothawale
4c2bfae83e
get_stream: Throw DoesNotExist if stream is not found.
...
This makes get_stream match get_realm, get_user_profile_by_email,
etc., in interface, and is more convenient for mypy annotations
because `get_stream` now doesn't return an Optional[Stream].
2017-03-23 15:42:00 -07:00
Tim Abbott
06492738b5
dev: Expose coverage and built documentation to web.
...
This makes it much more convenient for developers to access coverage
and built developer documentation.
2017-03-23 13:10:06 -07:00
Tim Abbott
97e844e97c
test_notifications: Don't pass a user_profile to client_patch.
...
This fixes a JSON overflow error when producing URL coverage reports.
2017-03-23 13:08:49 -07:00
Tim Abbott
f3af0fe635
reactions: Fix reacting to messages on streams you're not subscribed to.
...
We use the same strategy Zulip already uses for starred messages,
namely, creating a new UserMessage row with the "historical" flag set
(which basically means Zulip can ignore this row for most purposes
that use UserMessage rows). The historical flag is ignored, however,
in determining which users' browsers to notify about new reactions,
and thus the user will get to see the reaction appear when they click
a message (and any reactions other users later add, as well!).
There's still something of a race here, in that if some users react to
a message while the user is looking at the unsubscribed stream but
before the user reacts to that message, those reactions will not be
displayed to that user (so counts will be a bit lower, or something).
This race feels small enough to ignore for now.
Fixes #3345 .
2017-03-22 20:22:13 -07:00
Tim Abbott
60326ca94c
test_events: Add reaction tests.
2017-03-22 20:22:02 -07:00
Tim Abbott
0963f2d518
reactions: Extract notify_reaction_update.
2017-03-22 20:22:02 -07:00
Tim Abbott
67a4ce99ee
tutorial: Disable tutorial for default development users.
...
You can always make a new user if you need to test the tutorial, and
this will save a bunch of developer time ignoring the tutorial popup.
2017-03-22 15:30:36 -07:00
hollywoodno
d6716838ad
bugdown: Remove trailing whitespace on fence code blocks.
...
This fixes fenced code blocks that are copy-pasted from certain
clients having trailing whitespace anoyingly often.
Fixes #3998 .
2017-03-22 14:17:34 -07:00
Tim Abbott
0fec03f8bb
test_docs: Fix normal users test text.
2017-03-22 13:14:19 -07:00
sinwar
397e9c109e
auth: Separate development login from main login page.
...
This allows us to enable EmailAuthBackend by default in development
without cluttering the development login experience.
Fixes #3652 .
2017-03-22 12:54:30 -07:00
Rishi Gupta
4c88b3f5da
logging_util: Fix timezone-naive datetime being compared to aware datetime.
...
Fixes regression in 3d07ac0
.
2017-03-22 12:51:58 -07:00
Umair Khan
3c0f341eb7
test_subs.py: Change assert_max_length to assert_length.
2017-03-22 12:07:21 -07:00
Umair Khan
804c62045f
testing: Flush API_KEYS before every test.
...
This makes our test performance for each test more consistent.
2017-03-22 12:07:06 -07:00
Umair Khan
ff8ab054da
testing: Fix query count for test_bulk_subscribe_MIT.
...
test_subs.SubscriptionAPITest.test_bulk_subscribe_MIT fails when it is
run individually.
2017-03-22 12:07:06 -07:00
Umair Khan
8431ceace2
testing: Serialize BotTest with upload tests.
2017-03-22 11:59:30 -07:00
Yago González
34a9e1ae11
markdown: Add TeX typesetting support.
...
Co-authored-by: Reid Barton <rwbarton@gmail.com>
Fixes #2056 .
2017-03-21 16:40:00 -07:00
Rishi Gupta
caef5332d5
mailchimp: Fix error in add_users_to_mailing_list.py.
...
Old behavior is a holdover from development testing.
2017-03-21 16:13:00 -07:00
Tim Abbott
993276b882
test_upload: Add tests for realm icon URL scheme.
2017-03-21 16:12:04 -07:00
Tim Abbott
8775a22663
avatar: Fix buggy avatar URL scheme with S3 backend.
...
Also adds tests for the avatar URL scheme.
2017-03-21 16:12:04 -07:00
Ayush Jain
bddcfb1c96
Add realm-level settings to control inline image and url preview.
...
This gives users more control in case they don't want previews,
especially for the "previews of linked websites" feature.
Fixes : #2640 .
2017-03-21 15:46:17 -07:00
Umair Khan
a2aeddba6b
testing: Add infrastructure for running backend tests in parallel.
...
This doesn't yet provide an option to actually run the backend tests
parallelized yet.
2017-03-21 10:59:12 -07:00
Tim Abbott
6d452e87a5
context_processors: Handle requests without user set.
...
If `render()` is called from middleware that runs before the
authentication middleware, then this code path will be called with a
request object where request.user is not yet set. Handle this by
providing a reasonable error message.
2017-03-21 10:06:39 -07:00
Tim Abbott
a474f4359d
tests: Set maxDiff to None unconditionally.
2017-03-21 07:34:16 -07:00
Tim Abbott
c2c02ea4da
middleware: Fix typo in render_to_response migration.
...
This fixes a 500 on the invalid realm page.
2017-03-21 07:30:28 -07:00
adnrs96
8ae35211b5
migration: Sync sizes for existing Attachment objects with actual files.
...
Tweaked by tabbott to add a nop reverse migration.
Fixes #3883 .
2017-03-21 00:53:22 -07:00
Tim Abbott
aa7e4fec35
messages: Require join with zerver_message if use_first_unread_anchor.
...
This fixes a 500 bug where the RN mobile app would simply fail to load
old messages if use_first_unread_anchor was not set.
2017-03-21 00:02:46 -07:00
Steven Ganz
5041d86db0
tests: Add several missing tests to test_events.
...
This fixes part of #3633 .
Extracted by tabbott from #4162 as ready to merge now.
2017-03-19 23:12:12 -07:00
Tim Abbott
ceeb95ebb1
tests: Fix missing test coverage for /json/realm.
...
In aa880b0419
, we used the raw
do_set_realm_description method rather than calling the API, which
meant that the API success path wasn't actually tested.
2017-03-19 22:49:16 -07:00
Tim Abbott
81194df65d
test_bots: Add stream is not None asserts.
2017-03-19 22:26:25 -07:00
Tim Abbott
e2eeef5118
recipient_for_emails: Fix confusing type reuse.
2017-03-19 22:26:25 -07:00
Tim Abbott
7e5d5b5cce
mypy: Clean up repetition in test_realm_aliases.
...
The assert added in this refactoring addresses a mypy issue with
strict optional since get_realm_by_email_domain might return None.
2017-03-19 22:26:25 -07:00
Tim Abbott
5b0ff2a69a
mypy: Fix some strict-optional related issues.
2017-03-19 22:26:25 -07:00
Tim Abbott
2b62c4fa38
mypy: Fix missing annotation in Tornado handlers.
...
This was accidentally removed in
9866124b78
, but is needed on the current
mypy version.
2017-03-19 22:26:25 -07:00
Tim Abbott
8fa60cf77c
py3: Remove use of typing.Deque.
...
Apparently this is only available in ultra-modern versions of Python 3?
2017-03-19 21:39:54 -07:00
Tim Abbott
9866124b78
mypy: Fix some new errors flagged by latest mypy master.
...
Mostly list -> List bugs in annotations.
2017-03-19 21:03:45 -07:00
Sarah Stringer
aa880b0419
Add organization description field to realm settings.
...
This adds an organization description field to the Realm model, as well as
an input field to the organization settings template. Added three tests.
Set the max length of the field to 100 characters.
Fixes #3962 .
2017-03-19 14:05:01 -07:00
Jacob Hurwitz
0a76a609ec
Fix bugs with handling of the empty narrow.
...
An empty narrow (ie, the home view) can be represented in code as either
`None` or `[]` but we had incorrect handling that failed to fully
properly deal with either case.
(1) In `get_stream_name_from_narrow`, we failed to deal with `None` by
trying to always iterate over `narrow`.
(2) In several other places, we failed to deal with `[]` by explicitly
checking `if narrow is None` or `if narrow is not None`. Changing these
to truthiness checks should work for both the `None` and `[]` cases.
2017-03-19 11:47:03 -07:00
Rishi Gupta
6ba11785ea
js dependencies: Change hashchange_encode to hash_util_encode in zerver.
...
This function formerly replicated the behavior of hashchange.encode, and now
replicates the behavior of hash_util.encode.
2017-03-18 20:40:34 -07:00
Rishi Gupta
19d8d16126
js dependencies: Split hash_util.js from hashchange.js.
2017-03-18 20:40:34 -07:00
Tim Abbott
767f57ef03
tests: Remove imports of deleted message_ids.
2017-03-18 20:40:34 -07:00
K.Kanakhin
3e397090e1
user-presence: Add client info to aggregated presence status.
...
Fixes zulip/zulip-android#454 .
2017-03-18 20:36:41 -07:00
Tim Abbott
4dbb17db64
test_helpers: Remove unused message_ids function.
2017-03-18 19:22:49 -07:00
Elliott Jin
1138057209
test-backend: Raise zerver/views/registration.py test coverage to 100%.
2017-03-18 18:11:59 -07:00
Elliott Jin
25d9aac016
registration.py: Don't catch exception that can't be thrown.
...
A previous commit changed a `get` (which can throw `DoesNotExist`) to use an
existing object, but kept the `try` / `except` block:
4bf3ace444
Removing this unused code path allows us to achieve 100% test coverage.
2017-03-18 18:11:59 -07:00
Elliott Jin
8cfc231d03
tests: Raise zerver/views/registration.py test coverage (part 2).
2017-03-18 18:11:59 -07:00
Jacob Hurwitz
8ab88f5aad
Remove hack for old mobile clients
...
This FIXME was added in 50d229fe11
.
Considering it's been more than 4 years, we can probably safely remove
it now.
2017-03-18 18:11:17 -07:00
Susan Salituro
a2689d6952
message.py: Delete unused function.
2017-03-18 16:08:36 -07:00
Elliott Jin
fde1aa506b
tests: Prevent misuse of assert_in_success_response.
...
Changing assert_in_success_response to require List[Text] instead of
Iterable[Text] prevents the following misuse:
self.assert_in_response_success("message", response)
Currently, this will check whether 'm', 'e', 's', 'a', and 'g' separately
appear in the response, which is probably not the intended behavior. The
correct usage is as follows:
self.assert_in_response_success(["message"], response)
2017-03-18 15:49:35 -07:00
Susan Salituro
a2d948f2e0
test_messages: Add test for invalid markdown format.
2017-03-18 14:35:53 -07:00
dattatreya303
a61ff3e234
Prevent missed-message emails for deleted messages.
...
This of course only works in the 2 minute window where missed-message
emails are planned, but nonetheless likely avoids common cases of
emailing users with deleted messages.
Fixes : #3873 .
2017-03-18 07:51:32 -07:00
Umair Khan
645d7c295c
Timezone should default to empty string.
...
Related to #1506
2017-03-17 21:57:16 -07:00
Tim Abbott
25488b550f
casper: Fix issues with server autoreloading on save.
...
This fixes an issue where if you saved a Python file (even just
changing whitespace) while casper tests were running, the Tornado
server being used would restart, triggering a confusing error like
this:
ReferenceError: Can't find variable: $
Traceback:
undefined:2
:4
Suite explicitly interrupted without any message given.
2017-03-17 20:45:07 -07:00
Tim Abbott
614391908b
typing: Add apply_event handler for typing notifications.
...
This fixes a crash in the small race condition when loading a browser
window while someone is starting/stopping typing.
2017-03-17 20:01:12 -07:00
Umair Khan
4442703011
jinja2: No need for custom render_to_response.
...
Django 1.10 has changed the implementation of this function to
match our custom implementation; in addition to this, we prefer
render().
Fixes #1914 via #4093 .
2017-03-17 13:57:34 -07:00
Umair Khan
d4ee102a95
users: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
62a580a37f
unsubscribe: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
446c06bbf4
registration: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
58b407e2ff
integrations: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
097b0e3979
home: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
4e2311544f
auth: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
97639e5e48
middleware: Change render_to_response to render.
...
Related to #4093
2017-03-17 13:52:59 -07:00
Umair Khan
14c2b40acc
unsubscribe.py: Pass request to process_subscribe.
...
We are changing render_to_respone to render; render takes
request as an argument.
2017-03-17 13:52:59 -07:00
Akash Kothawale
9e45f32275
gogs: Add webhook integration.
...
- Add push, create and pull request event.
- Handle 'opened', 'closed' and 'merged' in 'pull request' event.
- Include tests for all the above events including 'push' with commits
more than limits.
2017-03-17 12:22:06 -07:00
Akash Kothawale
9c5f1d2239
git.py: Add create branch event message.
2017-03-17 12:22:06 -07:00
Akash Kothawale
edfb9c21bc
github_webhook: Send test message sent by GitHub webhook integration.
...
Fixes #3994 .
2017-03-17 11:47:04 -07:00
Akash Kothawale
282d27a934
git.py: Add setup webhook message.
2017-03-17 11:44:01 -07:00
wizsid11
19d1f4cab7
git integration: Change push commits message to show url at the end.
2017-03-16 11:06:03 -07:00
Rohitt Vashishtha
202389d4a7
notifications: Fix incorrect advertising in missed-message emails.
...
Missed-message email replies using the reply-to of
noreply@zulipchat.com shouldn't advertise that "just replying" will
work.
Rebased and commit message rewritten by tabbott.
Fixes #3965 .
2017-03-15 22:34:31 -07:00
Tim Abbott
1c5e9ae7f6
mypy: Fix unicode error in Jira webhook.
2017-03-15 22:01:04 -07:00
Tomasz Kolek
51b839ac11
jira integration: Add support for unicode chars.
...
Fixes : #3967
2017-03-15 16:26:57 -07:00
kunall17
5a1e952cb5
Implemented test's for muting/unmuting a topic
2017-03-15 16:19:00 -07:00
kunall17
a908bb1898
Implemented API routes for muting/unmuting a topic
2017-03-15 16:19:00 -07:00
Cynthia Lin
589551b6ee
settings: Change "Custom alert words" to "Alert words".
2017-03-15 11:25:37 -07:00
Umair Khan
242d3ffaf4
Add timezone field in UserProfile.
...
Implements backend of #1506 .
2017-03-15 11:18:24 -07:00
Umair Khan
0d296afa54
github: Return '' when name is None.
2017-03-15 11:11:09 -07:00
Umair Khan
e44e58f6d5
logging: Skip log records originated in site packages.
...
This fixes the huge exception we get in our logs from django.template
logger. This exception is a known bug in Django, see
https://code.djangoproject.com/ticket/26886
Fixes #3974
2017-03-15 11:07:31 -07:00
Rishi Gupta
af4718c50c
retention.py: Remove use of domain from get_expired_messages.
...
get_expired_messages seems to only be used by tests anyway.
2017-03-14 17:17:42 -07:00
Rishi Gupta
92dd767519
management commands: Change help text to say realm instead of domain.
2017-03-14 17:17:42 -07:00
Rishi Gupta
0c032adbde
create_realm.py: Remove --domain option.
...
Realm domains can now be managed via Admin Settings in the web app.
2017-03-14 17:17:42 -07:00
Rishi Gupta
8fecd454aa
forms.py: Remove unused function get_registration_string(domain).
2017-03-14 17:17:42 -07:00
Raghav Jajodia
ef7e15ee00
admin: Add realm option to prevent users from changing their name.
...
A realm option to prevent users from changing their name is added.
Fixes #3950 .
2017-03-14 14:10:08 -07:00
Raghav Jajodia
dc48b87765
home.py: Fix bug associated with email_changes_disabled.
...
On reloading the page after disabling email changes does not check
the "Prevent users from changing their email address".
Adding realm_email_changes_disabled to page_params_core_fields fixes the problem.
2017-03-14 14:10:08 -07:00
wizsid11
f066e3e8d6
git integrations: Change the limit of shown commits from 10 to 20.
2017-03-14 13:24:45 -07:00
Umair Khan
cdb07c7005
Fix test_get_old_messages_with_narrow_pm_with.
...
Fixes #3940 .
2017-03-14 09:38:24 -07:00
Umair Khan
7b1742fdef
send_message: Allow message to be sent to a huddle.
2017-03-14 09:35:08 -07:00
Maxim Averin
b13b660709
zerver: Replace log_event with RealmAuditLog in do_change_user_email.
...
This replaces the ancient file logging approach for the auditable
password change event with the database audit log.
2017-03-13 22:08:12 -07:00
Maxim Averin
fc35982b87
zerver: Replace log_event with RealmAuditLog in do_change_password.
...
This replaces the ancient file logging approach for the auditable
password change event with the database audit log.
2017-03-13 22:07:14 -07:00
Elliott Jin
dae5366949
tests: Raise zerver/views/registration.py test coverage.
2017-03-13 21:59:04 -07:00
Elliott Jin
11ad666397
tests: Fix docstring for test_signup_invalid_name.
2017-03-13 21:59:04 -07:00
Rishi Gupta
871c754369
bulk_create: Remove unused function bulk_create_realms.
2017-03-13 14:42:55 -07:00
Rishi Gupta
ae76f2540f
events.py: Remove realm_domain from fetch_initial_state_data.
...
Seems unused. git grep from realm_domain returns nothing of relevance.
2017-03-13 14:42:55 -07:00
Rishi Gupta
098797cd36
Remove page_params.domain.
2017-03-13 14:42:55 -07:00
Rishi Gupta
7dc7b1653c
actions: Remove unnecessary domain in validate_user_access_to_subscribers.
...
validate_user_access_to_subscribers_helper never uses
stream_dict['realm__domain']. I imagine it was there originally to do the
is_zephyr_mirror_realm check.
2017-03-13 14:28:43 -07:00
Rishi Gupta
b4ac768568
realm_icon: Use string_id instead of domain for Realm gravitar.
2017-03-13 14:28:43 -07:00
Rishi Gupta
3645bb9225
Change if(realm.domain == mit.edu) to use Realm.is_zephyr_mirror_realm.
2017-03-13 14:17:14 -07:00
Rishi Gupta
3aae6cd421
Change if(realm.domain == zulip.com) checks to use Realm.string_id.
2017-03-13 14:17:14 -07:00
Rishi Gupta
128c431f14
cache.py: Change realm_alert_words_cache_key to use Realm.string_id.
2017-03-13 14:17:14 -07:00
Rishi Gupta
a0ca2886ef
actions: Change email in do_refer_friend to use Realm.string_id.
...
This looks unused anyway, since it's sending mail to @zulip.com.
2017-03-13 14:17:14 -07:00
Rishi Gupta
15a8d5acc1
actions: Modify recipient_for_emails to not use Realm.domain.
...
Realm.domain was just being used as a unique identifier for a Realm.
2017-03-13 14:17:11 -07:00
Rishi Gupta
727fac75c7
signups: Use topic string_id for internal messages from new user signups.
...
Previously we used the topic "Realm.domain" for new user signups, but topic
"Realm.string_id" for the realm creation. This changes the user signup
messages to be on the same topic thread as the realm creation.
2017-03-13 10:00:41 -07:00
Rishi Gupta
ef532bbbb1
statsd: Change keys to use Realm.string_id instead of domain.
2017-03-13 09:51:02 -07:00
Rishi Gupta
11346e50bb
management commands: Use Realm.string_id instead of domain in print statements.
2017-03-13 09:44:32 -07:00
Rishi Gupta
5dc683ba8d
Use Realm.string_id instead of Realm.domain when logging.
2017-03-13 09:42:14 -07:00
Rishi Gupta
00f49d4121
views/users.py: Change error message to use Realm.string_id instead of domain.
2017-03-13 09:37:06 -07:00
Rishi Gupta
0559afb928
models: Use Realm.string_id instead of domain in RealmFilter.__unicode__.
2017-03-13 09:27:21 -07:00
Rishi Gupta
cc25193faa
models: Use Realm.string_id instead of domain in RealmEmoji.__unicode__.
2017-03-13 09:26:26 -07:00
Rishi Gupta
a2bfa7793a
models: Use string_id instead of domain in Realm.__unicode__.
2017-03-13 09:23:07 -07:00
Rishi Gupta
b81c86ffca
actions.py: Replace realm.domain with string_id in calls to log_event.
...
log_event is deprecated and only being used as a reminder for what needs to
be transitioned to RealmAuditLog.
2017-03-12 23:06:57 -07:00
James Wang
405f07454c
Add server version to about page template.
...
zserver/context_processors.py: Pull in ZULIP_VERSION variable from version.py
about.html: Put server version into template.
Fixes : #3907
2017-03-09 22:10:54 -08:00
Raghav Jajodia
c17e574211
Remove product_name setting and return to harcoding 'Zulip'.
...
This removes some confusion in grep for frontend strings with Zulip in
them and also cleans up the code in some places.
Fixes #1602 .
2017-03-09 21:48:15 -08:00
Tim Abbott
60296c022c
test_messages: Attempt to fix flaky coverage again.
2017-03-09 21:42:22 -08:00
Tim Abbott
c2bee5a89b
auth: Fix fetch_auth_backends to properly report supported methods.
...
This fixes 2 related issues:
* We incorrectly would report authentication methods that are
supported by a server (but have been disabled for a given
realm/subdomain) as supported.
* We did not return an error with an invalid subdomain on a valid
Zulip server.
* We did not return an error when requesting auth backends for the
homepage if SUBDOMAINS_HOMEPAGE is set.
Comes with complete tests.
2017-03-09 21:37:00 -08:00
Amy Liu
e5ab3123af
Migrate json/set_muted_topics to muting/topics.
2017-03-09 20:52:29 -08:00
Amy Liu
9500c88e32
Migrate legacy url json/bulk_invite_users to invite/bulk_invite.
2017-03-09 20:51:03 -08:00
Umair Khan
32849b80ad
Django 1.10: Url pattern doesn't use _callback_str.
...
Fixes #3941
2017-03-09 00:50:12 -08:00
Tim Abbott
ac20872f9d
request: Fix unnecessary translation tag for assertion.
2017-03-09 00:38:14 -08:00
Tim Abbott
8bdbcbc371
lint: Fix unnecessarily translated test file strings.
...
Our linter for translation strings shouldn't check test files, since
then we'll end up translating non-user-facing strings.
So we fix that, and actually add the opposite lint rule.
2017-03-09 00:37:44 -08:00
Umair Khan
149b0c30df
capitalization: Fix Only Basic authentication is supported.
2017-03-08 23:40:57 -08:00
Tim Abbott
ae12f3dfd0
github: Fix URL in GitHub webhook documentation.
2017-03-08 23:25:30 -08:00
adnrs96
556dde8e3e
avatar migration: Handle missing avatars for S3 gracefully.
...
In this commit we start to handle missing avatars gracefully in case
migration was being run on the AWS.
2017-03-08 22:24:07 -08:00
Tomasz Kolek
114c80efae
Add ignore pull requests mechanism in Travis integration.
...
Add ignore_pull_requests param to url, with a default of true.
Fixes : #3912 .
2017-03-08 21:51:04 -08:00
Tomasz Kolek
15485ec972
Refactor travis integration.
2017-03-08 21:49:32 -08:00
Tim Abbott
ac138b6e93
templates: Rename landing-nav.html to landing_nav.html.
2017-03-08 17:30:44 -08:00
Rishi Gupta
76ccf2732c
actions.py: Remove date_joined argument to do_activate_user.
...
All current calls to do_activate_user just use the default value of
timezone.now(). Having a date_joined other than timezone.now() raises an
interesting RealmAuditLog question (namely, which time should be used),
which we don't have to answer if we remove the argument.
2017-03-08 17:03:20 -08:00
Rishi Gupta
36db89c0a5
actions.py: Remove log_event for functions that log to RealmAuditLog.
2017-03-08 17:03:20 -08:00
Tim Abbott
3b59e6c3cc
subs: Rename /#subscriptions to /#streams.
...
Fixes #3653 .
2017-03-08 16:57:58 -08:00
Tim Abbott
d420aa72b8
actions: Fix default domain for realm creation.
...
The old domain was actually an email, not a domain, and hardcoded
acme.com :(.
2017-03-08 16:52:37 -08:00
Rishi Gupta
3797fa657e
Change bot domains to string_id.EXTERNAL_HOST.
...
Change applies to both subdomains and non-subdomains case, though we use
just the EXTERNAL_HOST in the non-subdomains case if there is only 1 realm.
Fixes #3903 .
2017-03-08 16:26:13 -08:00
Elliott Jin
8d936601d3
test-backend: Raise zerver/views/test_upload.py test coverage to 100%.
2017-03-08 11:42:25 -08:00
Tim Abbott
841e81d21e
tests: Fix six.moves range import placement.
2017-03-08 11:36:04 -08:00
Tim Abbott
cb14b4405c
tests: Rename zerver/tests/tests.py to test_users.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
8675be2daf
tests: Move ModelTest to test_presence.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
ff7e3a2125
tests: Move ExtractedRecipientsTest test to test_messages.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
ff598a091c
tests: Extract zerver/tests/test_muting.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
352551503c
tests: Move UtilsUnitTest test to test_docs.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
c0f43ce343
tests: Move PublicURLTest tests to test_urls.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
a2ebece9b7
tests: Move login-related tests to test_signup.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
94ed405c69
tests: Extract zerver/tests/test_middleware.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
46362dfcca
tests: Move AuthorsPageTest to test_docs.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
881169f08a
tests: Move DocPageTest to test_docs.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
edbb3fa4ec
tests: Rename test_integrations to test_docs.
2017-03-08 03:57:37 -08:00
Tim Abbott
729bcc8b16
tests: Move TestOpenRealms to test_signup.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
e8b08d10f0
tests: Extract zerver/tests/test_notifications.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
eefd5d4cf6
tests: Move UserChangesTest to test_settings.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
3d98b1cdef
tests: Extract zerver/tests/test_queue_worker.py.
2017-03-08 03:57:37 -08:00
Tim Abbott
4e34719563
tests: Extract zerver/tests/test_realm.py.
2017-03-08 03:15:16 -08:00
Tim Abbott
b5cca309d6
tests: Extract zerver/tests/test_settings.py.
2017-03-08 03:13:28 -08:00
Tim Abbott
123b4c1877
tests: Extract zerver/tests/test_bots.py.
2017-03-08 03:09:32 -08:00
Tim Abbott
7d9e80599b
tests: Extract zerver/tests/test_zephyr.py.
2017-03-08 03:08:30 -08:00
Tim Abbott
c66549dee0
tests: Extract zerver/tests/test_home.py.
2017-03-08 03:00:05 -08:00
Tim Abbott
a55381b397
sessions: Fix missing typing imports.
2017-03-08 03:00:05 -08:00
Tim Abbott
7aa9dc3922
Fix test_templates failure with new landing-nav.html.
2017-03-08 02:53:57 -08:00
Tim Abbott
ca50e10569
sessions: Move session deletion code to sessions.py.
...
This new organization feels more thematically appropriate, and of
course shrinks the amount of stuff unnecessarily in actions.py
2017-03-08 02:48:18 -08:00
Tim Abbott
fe237118b0
Rename zerver/lib/session_user.py to sessions.py.
2017-03-08 02:43:35 -08:00
Tim Abbott
7c9ee2f677
avatar migration: Remove now-unnecessary debugging print.
2017-03-07 23:17:11 -08:00
Tim Abbott
a32f666f5c
avatar migration: Handle missing avatars gracefully.
...
This makes the outcome if a user didn't have an avatar due to a past
email change reasonable; the user will just be bumped back to
gravatar, fixing their invalid state.
2017-03-07 23:10:15 -08:00
Tim Abbott
0afd4d5740
avatar: Add error handling for avatar migraton.
2017-03-07 23:10:15 -08:00
adnrs96
ae31c6cc0d
avatar: Move avatar data from email based to user id based.
...
This commit introduces a migration for moving avatars from email based
to user id based storage.
This is in responce to change in behaviour of user_avatar_path to
return path comprising of realm id and a hash based on user id. Also
we fix test_helpers accordingly.
Fixes #3776 .
2017-03-07 22:44:26 -08:00
K.Kanakhin
1cb0f8dc41
Add size limit for uploading user avatars and realm icons.
...
- Add settings parameter for max realm icon size.
- Add settings parameter for max user avatar size.
- Add checking file size to avatar and icon
uploading views.
- Transfer file size limit parameter to frontend.
- Add tests.
2017-03-07 22:13:01 -08:00
Tim Abbott
01129c1ab9
home: Simplify logic for realm_icon_source/url.
2017-03-07 22:09:58 -08:00
K.Kanakhin
72424f3a9f
realm-icon: Fix variable name for realm icon source.
2017-03-07 22:09:58 -08:00
Feorlen
e0acdfde0d
Add a Splunk webhook integration.
...
Add a webhook to create messages from Splunk search alerts. The search
alert JSON includes the first search result and a link to view the full
results. The following fields are used:
* search_name - the name of the saved search
* results_link - URL of the full search results
* host - the host the search result came from
* source - the source file on that host
* _raw - the raw text of the logged event.
The Zulip message contains:
* search name
* host
* source
* raw
The destination stream and message topic are configurable: the default
stream is "splunk" and the default topic "Splunk Alert". If the topic is
not provided in the URL, the search name is used instead (truncated if too
long. If a needed field is missing, a default value is used instead.
Example: "Missing source"
It is possible to configure a Splunk search to not include some values,
so I've provided defaults rather than return an error for missing data.
In practice, these fields are unlikely to be deliberately suppressed.
Note: alerts are only available for Splunk servers using a valid trial,
developer, or paid license.
I've added tests for the normal case of one search result, the topic from
the search name, and for a search missing one of the fields used. Tested
using Splunk Enterprise 6.5.1.
Fixes #3477
2017-03-07 21:48:26 -08:00
Tim Abbott
6e442902e1
AdminZulipHandler: Don't print extra traceback for logged-out users.
...
This is not an interesting condition worth highlighting for sysadmins.
Fixes #3963 .
2017-03-07 21:23:10 -08:00
Tim Abbott
6a8dfe1f3f
test_messages: Fix nondeterministic coverage issue.
2017-03-07 20:44:55 -08:00
K.Kanakhin
173f34b7aa
user-presence: Add `offline` status to aggregated info.
...
- Add `OFFLINE_THRESHOLD_SECS` settings parameter
to handle offline period.
- Set aggregated status to offline if user's status
haven't changed for `OFFLINE_THRESHOLD_SECS` period.
- Add test for offline aggregated status.
2017-03-07 20:09:53 -08:00
K.Kanakhin
2f251dedaf
user-presence: Add aggregated status to user presence info.
...
- Add aggregated status to user presence status dict.
- Add tests for aggregated presence status.
- Fix removing unused keys from status dict
with aggregated data for user.
Fixes #3692
2017-03-07 20:09:53 -08:00
K.Kanakhin
6a801db1c2
missed-emails-sending: Move email sending to separate queue worker.
...
- Add new 'missedmessage_email_senders' queue for sending missed messages emails.
- Add the new worker to process 'missedmessage_email_senders' queue.
- Split aggregation missed messages and sending missed messages email
to separate queue workers.
- Adapt tests for sending missed emails to the new logic.
Fixes #2607
2017-03-07 20:08:40 -08:00
Elliott Jin
3127ebfa3b
test-backend: Raise zerver/views/events_register.py test coverage to 100%.
2017-03-07 19:47:16 -08:00
Umair Khan
1f60baba6b
Handle social auth exception in auth_complete.
...
In case of an exception, we log it and return None which results in a
redirect to the login page.
2017-03-07 19:46:40 -08:00
Tim Abbott
1c3dbdcefe
models: Remove obsolete realm.deployment property.
...
We've now removed all of the code that accesses this.
2017-03-06 00:11:13 -08:00
Tim Abbott
e90df029bf
create_realm: Eliminate obsolete deployment code.
...
Since we're not using this model anymore, we certainly don't need it
when creating realms.
2017-03-06 00:07:45 -08:00
Tim Abbott
8815a598d8
digest: Remove obsolete deployment code.
...
This system was quite complicated, and never had great semantics.
Eventually, we'll want some other system for gating which server
should generate digest emails for which realm controlled via the
database.
2017-03-06 00:05:21 -08:00
Tim Abbott
d286c5e68f
feedback: Remove unnecessary realm_for_email.
...
This also has the side effect of removing the hardcoding of
feedback@zulip.com here.
2017-03-06 00:01:58 -08:00
Tim Abbott
6cbd0fcafa
feedback: Move feedback logic out of queue_processors.py.
...
This will make it easier to unit test this logic in the future.
2017-03-06 00:01:57 -08:00
Tim Abbott
e1c1f96f9e
zilencer: Eliminate submit_feedback indirection.
2017-03-06 00:01:57 -08:00
Tim Abbott
ed5b76f566
zilencer: Move feedback code to zerver/lib/feedback.
2017-03-06 00:01:57 -08:00
Tim Abbott
9a08ef5545
zilencer: Remove FEEDBACK_TARGET forwarding logic.
...
This feature hardcoded zulip.com, and never really made much sense
("feedback" should generally go to the local server administrator, not
to the Zulip development community).
2017-03-06 00:01:57 -08:00
Tim Abbott
89eb7636ba
remove_push_device_token: Remove unused request argument.
2017-03-05 22:01:28 -08:00
Tim Abbott
657dfcbddc
push: Move remove_push_device_token to library.
2017-03-05 19:15:17 -08:00
Tim Abbott
c0ad9c02fd
push: Extract validate_token helper function.
2017-03-05 19:15:17 -08:00
Tim Abbott
271bd5a282
push: Move add_push_device_token to library.
2017-03-05 19:15:16 -08:00
Tim Abbott
410c0626a6
push: Pass apple alert via the zulip dict.
...
This completes the process of simplifying the interface of the
send_*_push_notification functions, so that they can effectively
support a push notification forwarding workflow.
2017-03-05 18:37:00 -08:00
Tim Abbott
fc192d6b3b
push: Don't pass a UserProfile into send_apple_push_notification..
2017-03-05 18:37:00 -08:00
Tim Abbott
393c4d2eaa
push: Don't pass a UserProfile into _do_push_to_apns_service.
2017-03-05 18:37:00 -08:00
Tim Abbott
53c9e3b4ca
push: Don't pass a full UserProfile into APNsMessage.
2017-03-05 18:37:00 -08:00
Tim Abbott
c8bfd568bc
push: Pass devices list into send_apple_push_notification.
2017-03-05 18:36:58 -08:00
Tim Abbott
0ddaf5c610
push: Pass reg_ids list into send_android_push_notification.
...
This refactoring is preparation for being able to forward push
notifications to users on behalf of another Zulip server.
The goal is to remove access to the current server's database from the
send_*_push_notification code paths.
2017-03-05 18:36:07 -08:00
Tim Abbott
b1b2d8d2c7
push: Move handle_push_notifications to push_notifications.py.
2017-03-05 18:32:09 -08:00
sinwar
6f0564e9f4
python: Fix remaining bare excepts in codebase.
...
Fixes #2862 .
2017-03-05 16:17:04 -08:00
Tim Abbott
08e1759ad0
bots: Replace bare excepts with targeted exceptions.
2017-03-05 16:17:04 -08:00
Steve Howell
419a3174f1
Send stream_id in stream/update events.
2017-03-05 15:44:42 -08:00
Steve Howell
0bb1af0fd9
Send stream_id in subscription updates.
2017-03-05 15:26:00 -08:00
Tim Abbott
b6f53d6c14
coverage: bring zerver/lib/validator.py to 100% coverage.
2017-03-05 00:53:27 -08:00
Tim Abbott
2f8bb1b1cd
coverage: Add test for REST requests to /json API unauthed.
2017-03-05 00:53:27 -08:00
Tim Abbott
c8e38aaa55
coverage: Add coverage for OPTIONS HTTP method.
2017-03-05 00:53:26 -08:00
Tim Abbott
e95f139308
coverage: bring zerver/lib/response.py to 100% coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
89decf6ded
coverage: bring zerver/lib/request.py to 100% coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
e7ff3415ab
coverage: bring test_helpers.py to 100% coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
546fb9199d
coverage: bring test_classes.py to 100% coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
e3cfb256dd
coverage: Bring zerver.lib.narrow.py to 100% coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
56b1f79fe3
integrations: Fix email integration being listed unconditionally.
2017-03-05 00:53:26 -08:00
Tim Abbott
464928fdcc
bugdown: Fix mypy error with python 3 coverage.
2017-03-05 00:53:26 -08:00
Tim Abbott
a53240a47c
test_subs: Fix buggy assertion statement.
2017-03-04 23:57:56 -08:00
Tim Abbott
6c12a49d04
test_auth_backends: Remove now-unnecessary compatibility code.
...
This code was added as part of the Django 1.10 migration to make our
tests work with both Django 1.8 and 1.10. Now that we're on 1.10,
it's no longer required.
2017-03-04 23:38:46 -08:00
Tim Abbott
39704bac6c
test_bugdown: Remove unused common_bugdown_test.
2017-03-04 23:35:46 -08:00
Tim Abbott
1a8bc5f383
coverage: Bring test_decorators to 100% coverage.
2017-03-04 23:34:28 -08:00
Tim Abbott
c73c3c52f8
test_email_mirror: Fix TestCommandMTA.
...
The test didn't actually use the mock, due to an incorrect import
path.
2017-03-04 23:28:48 -08:00
Tim Abbott
6ea3a9cb1d
coverage: Bring test_templates.py to 100% coverage.
2017-03-04 23:28:48 -08:00
Tim Abbott
8d9cab2339
test_narrow: Use AssertionError properly.
2017-03-04 23:19:16 -08:00
Tim Abbott
d8171b2efc
coverage: Bring tests.py to 100% coverage.
2017-03-04 23:17:36 -08:00
Tim Abbott
768307d921
coverage: Bring test_events to 100% coverage.
2017-03-04 23:12:32 -08:00
Tim Abbott
d4f0e394e9
test_unread: Bring to 100% test coverage.
...
This actually fixes a test bug where we weren't actually verifying
whether other users' messages were being marked as read.
2017-03-04 23:09:45 -08:00
Tim Abbott
538570b7c1
test_subs: Bring to 100% test coverage.
2017-03-04 23:07:56 -08:00
Tim Abbott
065651b4fe
coverage: Exclude uncovered lines in test_signup.
2017-03-04 23:01:50 -08:00
Tim Abbott
ff9f827c9a
coverage: Don't require coverage in six.PY2/PY3 branches.
2017-03-04 22:51:35 -08:00
Tim Abbott
bd0d6bb9d2
docs: Add discussion of VFL to front-end-build-process.md.
...
Also, link to this from various Python files where relevant.
2017-03-04 21:14:17 -08:00
Tim Abbott
233c5eb255
mypy: Add UserProfile import in avatar_hash.py.
2017-03-04 20:24:47 -08:00
Tim Abbott
d95412425a
generate_realm_creation_link: Fix line-wrapping of help text.
2017-03-04 19:02:01 -08:00
feorlen
3c954096f6
generate_realm_creation_link: Check for an uninitialized database.
...
This provides a nice error message to users who miss a step in the
instructions.
Fixes #3672 .
2017-03-04 19:01:01 -08:00
adnrs96
3f58e20993
Refactor: Change user_avatar_hash with user_avatar_path at all calls.
...
In this commit we change user_avatar_hash with user_avatar_path which
now returns paths to avatars based on the email hash.
Tweaked by tabbott to avoid an import loop.
2017-03-04 18:39:49 -08:00
Tim Abbott
5488de11e6
migrations: Renumber 0059_userprofile_quota to fix conflict.
2017-03-04 18:38:27 -08:00
Philip Skomorokhov
866a7b06b2
upload: Limit total size of files uploaded by a user to 1GB.
...
Fixes #3884 .
2017-03-04 18:08:30 -08:00
Tim Abbott
80232425f4
user_settings: Clean up error messages and tests for email change.
2017-03-04 17:32:48 -08:00
Raghav Jajodia
cd2d798498
admin: Added realm option to prevent users from changing their email.
...
A realm option to prevent users from changing their email address is added.
Fixes #3777 .
2017-03-04 17:32:48 -08:00
Tim Abbott
d25bfb88d3
lint: Ban importing zerver.models in database migrations.
...
This doesn't work correctly, but in a subtle way.
2017-03-04 17:32:48 -08:00
Tim Abbott
219c519186
migrations: Fix upgrade process for RealmAuditLog migration.
...
You aren't allowed to import from `zerver.models` in migrations.
2017-03-04 17:24:04 -08:00
Raghav Jajodia
ec77aa0dfb
user_settings: Add auth check before confirm_email_change.
...
This isn't strictly necessary, but adds a little bit of extra security
to the overall email change flow.
2017-03-04 17:05:25 -08:00
Rishi Gupta
8feea6c598
analytics: Add LoggingCountStat for number of users.
2017-03-04 16:46:09 -08:00
Rishi Gupta
51b7677db7
Add RealmAuditLog table and record user activation/deactivation events.
...
The RealmAuditLog will make it easier for server admins to replay history.
2017-03-04 16:45:44 -08:00
Tim Abbott
34ade097ca
mypy: Work around obnoxious async error.
2017-03-04 15:39:53 -08:00
Tim Abbott
75e81253f2
mypy: Work around several new mypy bugs in 0.501.
2017-03-04 15:33:39 -08:00
Raghav Jajodia
a3a03bd6a5
mypy: Added Dict, List and Set imports.
...
Fixed mypy errors associated with the upgrade.
2017-03-04 14:33:44 -08:00
Rishi Gupta
1453a5bfda
Change string_id of test zephyr realm from mit to zephyr.
...
Also changes Realm.is_zephyr_mirror_realm to use string_id=zephyr instead of
domain=mit.edu.
Part of a larger migration away from Realm.domain.
2017-03-04 12:18:01 -08:00
Rishi Gupta
a1813e004e
Remove local datetimes from webhook messages.
...
"Local" datetimes are local to the server (or rather, are using
settings.TIME_ZONE), which in most cases is not what the recipient of the
message is expecting.
2017-03-03 19:00:02 -08:00
adnrs96
9eb47f108c
Refactor: Change upload_avatar_image to accept two user profiles.
...
In this commit we just change the upload_avatar_image function to accept
two user_profiles acting_user_profile and target_user_profile. Basically
email param is dropped for a target_user_profile so that avatar's could
be moved lateron to user id based storage.
2017-03-03 18:15:15 -08:00
Feorlen
6494b84193
Update WordPress webhook to say self-installed blogs are experimental.
...
Reword the doc to be clear that WordPress.com blogs are supported and
self-installed blogs are experimental. Change the screen captures to show
WordPress.com.
For more details, see:
original issue https://github.com/zulip/zulip/issues/3245
original PR https://github.com/zulip/zulip/pull/2691
2017-03-03 17:15:32 -08:00
Sourav Badami
4616ee7762
Enable display of emoji as their alt codes in reactions.
...
This currently only supports this in emoji reactions, not in actual
emoji in message bodies, but it's a great start for people who want a
text-only view.
Tweaked to update the text by tabbott.
Fixes #3169 .
2017-03-03 15:19:34 -08:00
Rishi Gupta
2bbfdeeb7b
Fix more errors caught by mypy 0.501.
...
Another set of relatively easy to review changes.
2017-03-03 14:15:38 -08:00
Rishi Gupta
28d3af0965
Fix several new errors caught by mypy 0.501.
...
Clear out a bunch of easy to review errors, so we can focus on the more
complicated ones.
2017-03-03 14:12:52 -08:00
Umair Khan
87c5ace24d
i18n: Use deterministic order in translations.json.
...
Fixes : #3897
2017-03-03 12:32:17 +05:00
Rishi Gupta
4dc791f393
Clean up timestamps.py and add a test.
2017-03-01 23:03:56 -08:00
Rishi Gupta
95f5c96bec
Canonicalize how we convert timestamps to UTC datetimes.
...
No change in behavior with this commit, just making it easier to write a
future lint rule.
2017-03-01 23:03:56 -08:00
Rishi Gupta
9dfefa0a3f
actions.py: Use UTC instead of server timezone to determine log directory.
...
Standardizing the Zulip codebase to use UTC everywhere. Note that unlike
many recent commits in this line, this changes does result in a change in
behavior.
2017-03-01 22:54:28 -08:00