Commit Graph

19149 Commits

Author SHA1 Message Date
Tim Abbott eaa33cce73 push_notifications: Validate format of APNS tokens.
This fixes a bug where we would previously not validate the format of
APNS tokens before writing them to the database, which could lead to
exceptions in the push notifications system if a buggy mobile app
submitted invalid format tokens.
2017-07-07 10:28:36 -07:00
Aditya Bansal e99067cfc3 compose.js: Add node test coverage for abort_xhr() function. 2017-07-07 12:01:41 -04:00
Aditya Bansal d9009f0c84 node tests: Add test_trigger_submit_compose_form().
(Steve Howell also contributed to this.)
2017-07-07 12:01:26 -04:00
Aditya Bansal ada54d4574 compose.js: Add node test coverage for update_fade().
(Steve Howell made small changes.)
2017-07-07 11:57:43 -04:00
Aditya Bansal cf2a9b74d5 compose.js: Add node test coverage to initialze() function.
(Steve Howell contributed to this as well.)
2017-07-07 11:19:02 -04:00
Aditya Bansal a6082a2b95 compose.js: Add coverage for transmit_message() function. 2017-07-07 08:29:33 -04:00
Aditya Bansal c7ec7f98d9 compose.js: Use on() instead of deprecated bind(). 2017-07-07 07:50:02 -04:00
Aditya Bansal f7e37d37b3 compose.js: Add coverage for finish() function. 2017-07-07 07:50:02 -04:00
Aditya Bansal c17efffa6a compose.js: Add coverage for enter_with_preview_open() function. 2017-07-07 07:50:02 -04:00
Rishi Gupta 07a3bb4d35 confirmation: Remove get_link_validity_in_days.
This commit removes the ability to configure different validity durations
for different types of confirmation links. I don't think the extra
configurability was worth the extra complexity, either for the user trying
to understand the settings, or for the developer trying to understand the
code.

The commit replaces all confirmation validity duration settings with a
single setting, settings.EMAIL_CONFIRMATION_DAYS.

The only setting it removes is settings.EMAIL_CHANGE_CONFIRMATION_DAYS,
which was introduced in 5bf83f9 and never advertised in prod_settings.py.
2017-07-07 07:46:31 -04:00
Rishi Gupta 8ba0fafa3f confirmation/views: Remove unused variables from template context. 2017-07-07 07:46:31 -04:00
Rishi Gupta c1a768f5be confirmation/models: Collect realm creation code into a single section. 2017-07-07 07:46:31 -04:00
Aditya Bansal a55cb919ff install-node: Fix errors in case node or npm is not installed. 2017-07-06 22:06:01 -07:00
Rishi Gupta e84e6aa818 create_realm: Make placeholder text more generic.
Fixes #2058.
2017-07-06 23:13:29 -04:00
Tim Abbott d7556eef17 install-node: Remove dependency on realpath. 2017-07-06 18:09:39 -07:00
sinwar c52dbd57f5 provision: Avoid spending 2s reinstalling node/npm.
Tweaked by tabbott to just check the versions.

Fixes #5184.
2017-07-06 17:57:22 -07:00
sinwar 9cab965601 install-node: hardcode the path for npm.
This replaces nvm in npm-wrapper by harcoding the path the way we do
with node.  The main benefit is that this saves a few hundred
milliseconds every time we invoke npm.
2017-07-06 17:44:28 -07:00
Tim Abbott 774216713b provision: Document more clearly the is_production_travis block. 2017-07-06 17:39:49 -07:00
sinwar 49db0855d2 provision: Avoid spending ~3s on RabbitMQ in no-op case.
Tweaked by tabbott to reorganize the logic more clearly.

Fixes #5180.
2017-07-06 17:38:39 -07:00
Tim Abbott 73b05cdbb2 actions: Fix logging issue with unicode in check_message errors.
This doesn't fix the root problem, but it means we'll get a more
correct traceback when future problems happen.
2017-07-06 16:22:13 -07:00
James Rowan dc9a41c543 emails: Add preheader content to missed message emails. 2017-07-06 15:46:03 -07:00
Rishi Gupta c827c7840d lint: Re-indent digest.html and missed_message.html. 2017-07-06 15:46:03 -07:00
James Rowan 0d76da27b4 emails: Add base template for missed message and digest emails.
Also removes the files from lint, so that the new indentation doesn't
obscure the change. The files are reindented in the next commit.
2017-07-06 15:46:03 -07:00
Rishi Gupta e04bf3273c emails: Rename email_base.html to email_base_default.html.
About to add another template for digest and missed message emails. Another
natural name would be email_base_transactional, but the followup_day{1,2}
emails aren't really transactional.
2017-07-06 15:46:03 -07:00
Jack Zhang 16385db3d7 landing-page.js: Implement fuzzysearch and category filtering.
On /integrations.

For scalability and people who type fast, update_integrations is
debounced; the function will postpone its execution until after
50 milliseconds after it was last invoked.
2017-07-06 15:28:50 -07:00
Jack Zhang 3f9bfd2ae2 portico: Create search/catalog visuals in /integrations.
Responsive designs for the search bar, categories sidebar,
categories dropdown, and integration tiles.
2017-07-06 15:28:50 -07:00
Jack Zhang 9d242ad7df Match size of headings on /apps with /integrations for consistency. 2017-07-06 15:28:50 -07:00
Jack Zhang 37a80d5cc4 portico: Redesign and rewrite /integrations text headings. 2017-07-06 15:28:50 -07:00
Tim Abbott afa8c8259c integrations: Eliminate analytics category. 2017-07-06 15:28:50 -07:00
Tim Abbott 194f03cb77 integrations: Update the categorization. 2017-07-06 15:23:39 -07:00
Tim Abbott b32dfd99fd integrations: Fix configuration for phabricator. 2017-07-06 15:16:14 -07:00
Aditya Bansal 55f05a5f53 compose.js: Add coverage for send_message() function. 2017-07-06 17:44:27 -04:00
Aditya Bansal 2b14714e3b compose.js: Export send_message().
We do this in order to have the definition of send_message()
accessible to the outside world. This will help in testing
this function.
2017-07-06 17:44:27 -04:00
cursiv 2b7938b8ed nginx: Add missing HTTP request methods to header.
This will make life easier if trying to write a Zulip client inside a
browser using the API.
2017-07-06 14:38:07 -07:00
Tim Abbott 094c8fd812 docs: Update link to Zulip API bindings code. 2017-07-06 13:08:25 -07:00
Tim Abbott e85aafdb8b integrations: Add initial categories to our integrations page. 2017-07-06 13:04:43 -07:00
Jack Zhang cb3e930159 integrations: Extend integrations classes with categories.
For now, all integrations are temporarily under the category
'analytics'. Real categorizations should be added prior to
deployment.
2017-07-06 13:04:43 -07:00
Tim Abbott 32bc794a17 docs: Update link to contrib_bots README.md. 2017-07-06 12:37:02 -07:00
Eeshan Garg f9ba3cb60c api: Remove everything under api/.
We now have a separate repo for our API bindings. So everything
under api/ can be removed.
2017-07-06 12:24:38 -07:00
Eeshan Garg 7394734ac3 tools/test-api: Stop inserting api/ in PATH.
Now that we have decided to move our API bindings to a separate
repo and specify them as a pip dependency, we can stop modifying
PATH to include the api/ directory.
2017-07-06 12:24:38 -07:00
Eeshan Garg 938597c5da requirements: Use the python-zulip-api repo for API bindings.
Tweaked by tabbott to repoint at the final repository name, update the
dependencies with `pip-compile`, and update PROVISION_VERSION.
2017-07-06 12:24:38 -07:00
Steve Howell 1466cfaf0c Add node tests for zjquery.
These tests should serve as a basic form of documentation on
how to use zjquery.  It covers most of the basic principles.
2017-07-06 14:31:34 -04:00
Tim Abbott 4f762dd27b keyboard_shortcuts: Fix capitalization of new heading. 2017-07-06 11:04:13 -07:00
Rishi Gupta ab63612c5b keyboard_shortcuts: Rename Streams to Streams Settings. 2017-07-06 10:39:52 -07:00
Abhijeet Kaur 343cb20d57 bots: Move "Add a new bot" to its own tab in settings UI.
"Add a new bot" UI used to be common in "Active bots" and
"Inactive bots". "Add a new bot" UI was below the list of all
active/inactive bots.

If there were more than a few bots was more than four, then the user
had to scroll down the entire list of bots to "Add a new bot", which
was annoying.  This new model makes the UI look cleaner as well.
2017-07-06 09:24:28 -07:00
Steve Howell 155f3d42c8 test: Fix test_i18n.test_json_error().
The refer_friend endpoint is about to be deprecated, so we
test with invite_users instead, and I tried to make the
dummy value returned by the mocked gettext function a little
more clear.
2017-07-06 11:30:55 -04:00
Vaida Plankyte 0452978e6a frontend: Increase contrast of sidebar captions. 2017-07-06 11:21:52 -04:00
Vaida Plankyte 31c134aff2 settings: Improve public/private stream descriptions. 2017-07-06 11:18:32 -04:00
Steve Howell b3848ed8bd zjquery: Assert only one function gets triggered.
If multiple functions get called by trigger(), it is almost
certainly a sign of overly complex test setup.
2017-07-06 10:27:54 -04:00
Steve Howell 74f9612147 node tests: Simplify trigger stubbing in stream_events.js.
This test verifies the following line of code:

    $(document).trigger($.Event('subscription_remove_done.zulip', {sub: sub}));

Before this change, the mocking mechanism used `$(document).on(...)`
to set the function that gets called on trigger, but it didn't clear
any of the other handlers.

Since all we care about is making sure that the event gets triggered,
we now just override `$(document).trigger`.
2017-07-06 10:27:09 -04:00