Commit Graph

26792 Commits

Author SHA1 Message Date
Tim Abbott 7d250cb2f9 attachment: Fix handling of stream history.
This fixes two issues:

* Our guest users feature gave guest users access to public stream
  attachments even if they couldn't access the public stream.

* After a user joins a private stream with our new shared history
  feature, they couldn't see images uploaded before they joined.

The tests need to check for a few types of issues:
* The actual access control permissions.
* How many database queries are used in the various
  cases for that second model, especially with multiple messages
  referencing an attachment.  This function gets called a lot, and we
  want to keep it fast.

Fixes #9372.
2018-06-06 09:40:22 -07:00
Tim Abbott 541ccfeb7f validate_attachment_request: Simplify execution flow.
This makes the code more readable, by narrowing the try/except block
and only querying `messages` when we're going to use it.
2018-06-06 09:13:51 -07:00
Shubham Dhama f148ed5bbf org settings: Improve error handling status elements.
With styling work by @maxnuss.

Fixes: #9188.
2018-06-06 09:00:35 -07:00
Tim Abbott 5ce69b3ecb backends: Fix unnecessary duplicate query to realm in social auth.
This is just a small cleanup to the social auth backend code.
2018-06-06 00:31:59 -07:00
Tim Abbott 35c4a9f1d2 auth: Rewrite our social auth integration to use pipeline.
This new implementation model is a lot cleaner and should extend
better to the non-oauth backend supported by python-social-auth (since
we're not relying on monkey-patching `do_auth` in the OAuth backend
base class).
2018-06-05 23:24:48 -07:00
Akash Nimare 84d3a4dbf3 help: Fix back button on help pages.
We should use update_page function for popstate
event so that we can fetch and update the help
articles correctly.

Fixes: #9617.
2018-06-06 03:18:58 +05:30
Akash Nimare 3a8a5a39bd help: Extract code for updating the page.
This commit extracts the code for updating
help page to update_page function.
2018-06-06 03:13:56 +05:30
Akash Nimare 5a2c19c67e help: Refactor code in help.js.
This commit organizes the code properly i.e.
declaring variable on top of the function and
moving window events in the bottom.

Fixes: #9617.
2018-06-06 03:01:52 +05:30
Yashashvi Dave 5145b24635 users: Replace duplication with generic func to validate user id.
This adds a common function `access_user_by_id` to access user id
within same realm, complete with a full suite of unit tests.

Tweaked by tabbott to make the test much more readable.
2018-06-05 11:13:13 -07:00
Tim Abbott d5206be969 settings: Fix high contrast mode not being development-only.
This feature is unfinished and doesn't do anything yet.
2018-06-05 10:10:53 -07:00
Tim Abbott d615e84421 requirements: Update thumbor dependencies. 2018-06-05 10:09:09 -07:00
Umair Khan 9b698dec08 2FA: Use patch.object for monkey patching.
Ref #9521
2018-06-05 09:25:40 -07:00
Tim Abbott e9312b921c tests: Disable test-queue-worker-reload test.
This test is low value (it's for testing a very specific feature/bug),
is slow, and apparently flakes in CI occasionally.
2018-06-05 09:24:03 -07:00
Shubham Dhama 8c55c52526 yarn: Remove i18n packages that are no longer used.
We removed these when we converted the app's frontend translations
mechanism to instead send the translation data in `page_params`.
2018-06-05 09:22:26 -07:00
Shubham Dhama 8852ed588a style: Remove redundant brackets from typeof operator. 2018-06-05 09:22:26 -07:00
Raymond Akornor 8f7af5fde5 install-node: Upgrade to yarn 1.7.0. 2018-06-05 08:52:55 -07:00
Tim Abbott 427c43723c docs: Document disabling unattended-upgrades.
I don't think this is exactly the right place to document this, but
I'm not sure there's a better one without some restructuring this page
in general (which would probably have value).

Fixes #8769.
2018-06-05 08:45:42 -07:00
Tim Abbott 40635beb23 docs: Document production support for Debian Stretch and Ubuntu Bionic.
Fixes #9197.
2018-06-05 08:09:29 -07:00
Tim Abbott 238ba2d486 auth: Move some simple GitHub tests to the long-term test class. 2018-06-04 23:57:09 -07:00
Tim Abbott 869d75b02f AuthBackendTest: Fix typos in error message checks.
Previously, these checks did nothing.
2018-06-04 23:45:13 -07:00
Raymond Akornor 0335da7e05 python: Use python3 style super() in 2FA code paths. 2018-06-04 20:55:42 -07:00
Tim Abbott 6111b4ebd0 node: Fix test errors from recent custom profile field changes. 2018-06-04 16:52:55 -07:00
Eeshan Garg 2d6d8fe5d8 zulip_bots: Upgrade to latest commit.
This upgrade fixes a dependency conflict between one of the bots
in zulip_bots and the main repo.
2018-06-04 16:20:00 -07:00
Max Nussenbaum ca18c635e7 User profile: Style the custom user profile fields.
This restyles the user profile modal so that the custom fields
look nice.
2018-06-04 16:15:24 -07:00
Tim Abbott ce4f00bd84 docs: Attempt to clarify the REST API writing docs. 2018-06-04 16:01:07 -07:00
Eeshan Garg 371cacde35 docs: Add a guide on how to document REST API endpoints. 2018-06-04 15:27:49 -07:00
Max Nussenbaum 1e6bb09bfc portico: Restyle Why Zulip page.
This updates the Why Zulip page to improve the styling of bullets,
blockquotes, and images.
2018-06-04 15:09:03 -07:00
Akash Nimare ac93281cfe portico: Update advance clicking on tour carousel.
We shouldn't move the slide forward if the user is
on the last slide. This commit adds an exception for
the same.
2018-06-04 15:07:54 -07:00
Steve Howell a361e2b993 Fix recent regressions with All Messages (muted topics).
My recent refactoring that split out MessageListData
introduced a nasty bug where we were putting muted
messages into the "All Messages" view even though
the underlying list was correctly filtering
them, so the symptoms were two-fold:

    - muted messages cluttered up your feed
    - replying to the message caused a traceback (since
      it wasn't actually in the underlying data
      structure)

This has to do with what MessageListData.add_messages()
was passing back to MessageList to orchestrate drawing
in MessageListView.

I think what happened here is I got this working kind
of sloppily but correctly for the non-muting case and
then got in the weeds of some other stuff.  Not my
finest moment.

The actual correct code here is simple enough.  We
triage top, interior, and bottom, and then the respective
methods that put the data into the data structure
return the filtered lists (i.e. not muted) and put them
into the info structure.

Fixes #9656
2018-06-04 14:35:23 -07:00
Steve Howell f625d4d237 node tests: Add muting cases for message_list_data. 2018-06-04 14:35:23 -07:00
Shubham Dhama cc03f9fb8f eslint: Enable space-infix-ops rule.
More about rule at  https://eslint.org/docs/rules/space-infix-ops
2018-06-05 00:47:35 +05:30
Shubham Dhama c6738889a9 eslint: Add and enable `space-unary-ops` rule.
Info about rule at https://eslint.org/docs/rules/space-unary-ops.
2018-06-05 00:47:35 +05:30
Eeshan Garg ea6a1750f5 pypi: Upgrade to release 0.4.7. 2018-06-04 11:48:36 -07:00
Tim Abbott 9a0a947dc1 mypy: Fix errors when trying to find the zulip Python project. 2018-06-04 11:48:36 -07:00
Shubham Dhama 01555e8772 streams: Handle guest user ids for stream settings changes' events. 2018-06-04 11:35:37 -07:00
Steve Howell a42492d0ac Fix very recent build error w/url coverage for casper.
Example:
    http://localhost:9991/casper/casper-failure1.png
2018-06-04 12:37:10 -04:00
Steve Howell 96caebf38f Remove dead code related to settings logout option.
I guess we used to have a way to logout from within
settings, but the list item was always hidden when you
went into settings, so it's apparently just dead code,
and it's kind of a strange thing to have in settings.
2018-06-04 09:02:58 -07:00
Steve Howell b4d83446dc info-overlay: Make toggler initialization less eager.
We want to avoid doing too much setup for the info overlay widget
during initialization, since we don't really need it, and side
effects like focusing a modal can cause hard-to-detect
glitches for other features.
2018-06-04 09:02:58 -07:00
Steve Howell 8deb2fc9ef toggler: Always call back to callback function.
In our toggler component (the thing that handles tabs in things
like our markdown/search help, settings/org, etc.), we have
a callback mechanism when you switch to the tab.  We were
being tricky and only calling it when the tab changed.

It turns out it's better to just always call the callback,
since these things are often in modals that open and close,
and if you open a modal for the second time, you want to do
the callback task for whichever setting you're going to.

There was actually kind of a nasty bug with this, where the
keyboard handling in the keyboard-help modal worked fine the
first time you opened it, but then it didn't work the second
time (if you focused some other element in the interim), and
it was due to not re-setting the focus to the inner modal
because we weren't calling the callback.

Of course, there are pitfalls in calling the same callbacks
twice, but our callbacks should generally be idempotent
for other reasons.
2018-06-04 09:02:58 -07:00
Steve Howell ad7e3ddd9f casper: Show casper debug files in the dev server.
Example:
    http://localhost:9991/casper/casper-failure1.png
2018-06-04 09:02:58 -07:00
Shubham Dhama 4b42a1207a portico: Fix `/plans` link in the tour carousel. 2018-06-04 08:54:52 -07:00
Shubham Dhama 6ef6657e3e portico: Make control-indicators of carousel synced with slides.
Fixes: #9654.
2018-06-04 08:54:52 -07:00
Shubham Dhama 06d00b0dfe portico: Fix clicking of carousel-container to move to next slide. 2018-06-04 08:54:52 -07:00
Shubham Dhama e59fcddb13 portico: Stop wraping of slides in landing page carousel. 2018-06-04 08:54:52 -07:00
Robert Hönig 620b473cc8 botserver: Rename zulip-bot-server to zulip-botserver. 2018-06-04 08:39:25 -07:00
Robert Hönig f0284c84d6 bot docs: Update botserverrc examples.
THe botserverrc sections now include
a token for each bot.
2018-06-04 08:39:25 -07:00
Robert Hönig 5d9a8cf64f bots: Add token to outgoing webhook zuliprc.
We want the Botserver to not only work with the
botserverrc, but also with a zuliprc of an outgoing
webhook. Because the Botserver uses the outgoing
webhook token for authentication, we need to include
it in the zuliprc for outgoing webhooks.
2018-06-04 08:39:24 -07:00
Robert Hönig d08c701bb4 frontend: Use bot_data instead of HTML data to generate zuliprc.
It is better to retrieve all information about a bot from
the central bot data store, rather than relying on the
bot card's HTML attributes.
2018-06-04 08:39:11 -07:00
Robert Hönig 7e7583e9cd frontend: bots: Extract encode_zuliprc_as_uri.
This is preparation for an upcoming refactoring where we pass a bot
ID, not the email/api_key, into the zuliprc generation functions in
the bots code path.
2018-06-04 08:38:14 -07:00
Tim Abbott ec90322e5d bots: Fix behavior for bots mentioned in PMs.
We've for a long time had the behavior that a bot mentioned in a
stream message receives the notification, regardless of whether the
bot was actually subscribed to the stream.

Apparently, this behavior also triggered if you mentioned a bot in a
private message (i.e. the bot would be delievered the private message
and would probably respond unhelpfully in a new group private message
thread with the PMs original recipients plus the bot).

The fix for this bug is simple: To exclude this feature for private
messages.
2018-06-03 22:29:15 -07:00