Commit Graph

3995 Commits

Author SHA1 Message Date
Hemanth V. Alluri ef52aa0fc1 webhooks: Eliminate the usage of a headers.py file.
For storing HTTP headers as a function of fixture name, previously
we required that the fixture_to_headers method should reside in a
separate module called headers.py.

However, as in many cases, this method will only take a few lines,
we decided to move this function into the view.py file of the
integration instead of requiring a whole new file called headers.py

This commit introduces the small change in the system architecture,
migrates the GitHub integration, and updates the docs accordingly.
2019-06-26 10:35:14 -07:00
Hemanth V. Alluri 4691028097 webhooks: Extract the '__' method of mapping to headers.
In the GitHub integration we established that for many integrations,
we can directly map the fixture filename to the set of required
headers and by following a simple naming convention we can greatly
ease the logic involved in fixture_to_headers method required .

So to prevent the need for duplicating the logic used by the GitHub
integration, we created a method called `get_http_headers_from_filename`
which will take the name of the HTTP header (key) and then return a
corresponding method (in a decorator-like fashion) which could then be
equated to fixture_to_headers in headers.py.

The GitHub integration was modified to use this method and the docs
were updated to suggest using this when possible.
2019-06-26 10:32:34 -07:00
Anders Kaseorg a37fa74dce templates: Fix new low-hanging HTML validation problems.
"http://localhost:9981/api/update-message-flags":318.16-319.34: error: “th” start tag in table body.
"http://localhost:9981/api/update-message-flags":344.35-344.38: error: Stray end tag “a”.
"http://localhost:9981/api/incoming-webhooks-walkthrough":412.4-412.77: error: An “img” element must have an “alt” attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-06-24 23:20:17 -07:00
Tim Abbott 6763e77ee2 api docs: Fix syntax for get-user-groups.
This apparently had some sort of rebase conflict issue with the
migration to the nicer syntax for tabs.
2019-06-24 22:24:46 -07:00
Yago González 4dc206ad2e api docs: Document PATCH /settings/notifications.
With significant tweaks by tabbott after rebasing.
2019-06-24 18:42:44 -07:00
Yashashvi Dave c0ecd06f31 help docs: Add message formatting keyboard shortcuts. 2019-06-24 14:08:57 -07:00
Yashashvi Dave c667e16a29 keyborad shortcuts: Document message formatting keyboard shortcuts.
Fixes #12246
2019-06-24 14:08:50 -07:00
Yashashvi Dave fed64cc59d static/js/common: Extract function `adjust_mac_shortcuts`. 2019-06-24 14:04:42 -07:00
Shubham Padia 80a3651cf3 auth: Let user choose emails in GitHub auth.
Previously, our Github authentication backend just used the user's
primary email address associated with GitHub, which was a reasonable
default, but quite annoying for users who have several email addresses
associated with their GitHub account.

We fix this, by adding a new screen where users can select which of
their (verified) GitHub email addresses to use for authentication.

This is implemented using the "partial" feature of the
python-social-auth pipeline system.

Each email is displayed as a button. Clicking on that button chooses
the email. The email value is stored in a hidden input above the
button. The `primary_email` is displayed on top followed by
`verified_non_primary_emails`. Backend name is also passed as
`backend` to the template, which in our case is GitHub.

Fixes #9876.
2019-06-23 21:27:04 -07:00
Hemanth V. Alluri 7c145c3f68 webhooks: Add a system for storing http headers for integrations.
Using this system, we can now associate any fixture of any integration
with a particular set of HTTP headers. A helper method called
determine_http_headers was introduced, and the test suite was upgraded
to use determine_http_headers.

Comments and documentation significantly edited by tabbott.
2019-06-20 16:36:38 -07:00
Hemanth V. Alluri 51793f70cf docs: Provide link to available message flags from get-messages. 2019-06-19 11:44:48 -07:00
Priyank Patel d7b4de2348 messages: Add support for passing user IDs for pm-with clause.
We also document support for user IDs in the pm-with narrow operator.

Edited by tabbott to document on /api rather than in the /help page.

Fixes part of #9474.
2019-06-17 17:38:51 -07:00
Priyank Patel 33e798168a docs: Declare the markdown code block to be json.
This just adds json syntax highlighting to api documentation page
at /api/construct-narrow.
2019-06-17 17:38:18 -07:00
Vishnu Ks 44d16d76c1 activity: Extract most js from realm_summary_table to activity.js. 2019-06-14 10:20:59 -07:00
Vishnu Ks 14e582fb59 support: Add functionality to copy admin emails.
Also renamed a bunch of functions in test_views for better
readability.
2019-06-14 10:19:50 -07:00
Vishnu Ks cc91e6cb94 auth: Allow setting GOOGLE_OAUTH2_CLIENT_ID from dev-secrets.
This makes it much more convenient to use Google/GitHub authentication
in a Zulip development environment for testing; one only has to set it
up once.
2019-06-14 10:16:26 -07:00
Vishnu Ks 16a345a766 auth: Document setting social_auth_github_key in dev-secrets.
This is a simpler configuration method for development, because
dev_settings.py isn't something the developer can edit.
2019-06-14 10:16:26 -07:00
Alexandra Ciobica 13d78e9da7 integrations: Make header of integrations/docs on mobile look good.
Change the display from `block` to `flex` in order to be able to
arrange the elements as wanted. Reset the css of the header elements
only for the description view. Add `font-size: 1.2em` because the font
doesn't need resizing in this case, it needs resizing only when the
title is in the box.

Removed the `padding-bottom` from the `nav` on mobile because it
overlaps the new header and you cannot click the back button from the
integrations.

Fixes: #12365.
2019-06-12 17:33:53 -07:00
Alexandra Ciobica 869c5ce27b integrations: Change integrations content.
We remove the title from `errbot` integration documentation so that
all documentations have the same style.  See
https://github.com/zulip/python-zulip-api/pull/515 for a similar
change to integrations where the docs live elsewhere in version control.

We also remove the `margin: 0` from the instruction tip because where
the tip is followed by a list, there is no space between the two; this
change doesn't mess up the other places where the tip is used.
2019-06-12 17:33:00 -07:00
Vaibhav 7610c5f025 css: Cleanup lightbox.scss for download and open buttons.
* There is only one word inside the buttons and that too was wrapped
  inside `span.text` which was unnecessary. This is removed. All
  corresponding properties (font-size) are moved to `.button`.

* Since the only `a` inside image actions are these buttons, all
  the properties are transfered to `.button`.

* Similarly, properties for `.icon` are moved to `.button` and it is
  also removed from the template.
  * Font size was redundant for `.icon`
  * display property is moved
2019-06-12 17:07:41 -07:00
Rishi Gupta fe2c0fbf21 help: Update docs for new member settings.
Fixes various mistakes and also rewrites some stuff.
2019-06-12 17:02:04 -07:00
Rishi Gupta 495efada4b help: Rename configure-waiting-period-for-full-members. 2019-06-12 17:02:04 -07:00
Rishi Gupta 49f8b9abbe help: Add manage-inactive-streams. 2019-06-06 22:17:03 -07:00
Tim Abbott 58c11fd249 api: Update documentation of subscription properties endpoint.
This covers the recent field rename as well as the addition of
email_notifications.
2019-06-06 12:05:49 -07:00
Rishi Gupta bbf6dc5427 user docs: Fix fake email in restrict-visibility-of-email-addresses.
Fixes regression from 2ff969c.
2019-06-05 17:55:37 -07:00
Rishi Gupta 2ff969c5a9 user docs: Update restrict-visibility-of-email-addresses.
That we are working to fix the caveats is implied by the (beta) label.

More generally, for /help articles, explanations, apologies, etc can go in a
section at the top, but the rest of the text should be a straightforward
description of the current state.
2019-06-05 11:01:24 -07:00
Rishi Gupta 2556127ae1 help: Remove mark as spam from moderation guide.
We're not sure this feature is the best solution to this category of
problem, in that use of this feature might cause spam to stick around
longer, vs features that encourage immediate deletion.
2019-06-05 10:53:07 -07:00
Hemanth V. Alluri c6b03432bc docs: modify update-message-flag to contain information about flags.
This makes it a lot more useful for understanding how our flag update
endpoints work.

With significant edits by tabbott to explain what these are.

Fixes #12092.
2019-06-04 00:40:47 -07:00
Tim Abbott d0d497fc2d docs: Update contributor count to over 500. 2019-06-03 12:14:40 -07:00
Rishi Gupta 849bc382f9 portico: Remove core-team profiles from /team.
This makes the Zulip team look smaller than we are.
2019-06-03 12:14:40 -07:00
vinitS101 ed3e9be142 org_settings: Add collapse/show settings button for users and guests.
For non-admins some organisation settings tabs are 'collapsed' by default.
A button at the bottom of these settings can be used to toggle
show/collapse for these settings tabs.

Resolves #12313.
2019-05-31 22:42:02 -07:00
vinitS101 20e6f67e70 org_settings: Permanently hide some settings tabs from users and guests.
Some organisation settings tabs have been permanently hidden from
non-admins, since they are useful to non-admins and can create
confusion for new users.
2019-05-31 22:41:46 -07:00
YashRE42 5ff27c130a info-overlay: Fix "message formating" styling.
This reverts the temporary solution from 04d9d1d and introduces a
better, more permanent solution for the same bug.
2019-05-30 16:18:54 -07:00
YashRE42 43bc1d4d5a info-overlay: Increase size of arrow icons. 2019-05-30 16:18:54 -07:00
YashRE42 5f1a32a9ee arrow-icons: Replace ⇽ , ⇾ with ← , → everywhere.
We were using these hollowed out arrows characters (⇽ , ⇾) in a few
places, these were inconsistent with the solid up and down arrow
characters (↑ , ↓) we use otherwise. This commit replaces them
everywhere in the codebase.
2019-05-30 16:18:54 -07:00
YashRE42 19ad090c99 info-overlay: Switch arrow key names to icons.
This commit switches "Up" with "↑", "Down" with "↓" and etc.
2019-05-30 16:18:54 -07:00
Hemanth V. Alluri b67d263b1a api docs: Avoid using \" in curl examples.
It's much cleaner to encode the JSON without quote-escaping.

closes #12196.
2019-05-30 11:05:41 -07:00
Vishnu Ks 8c249644b1 billing: Seperate out tests for invoice and autopay form fields. 2019-05-30 10:34:56 -07:00
Rishi Gupta 6d92d628a6 scrollbar: Add data-simplebar-auto-hide=False to several modals.
We're changing our style to always show the scrollbar on the right
pane of modals, because that makes it consistently clear when there
are more items below.
2019-05-29 16:45:42 -07:00
Tim Abbott ac73dc81f7 settings: Remove rendered_markdown from settings overlay.
It's not clear why we added this (I didn't notice it in review), and
it seems to have been in error, since none of the previous CSS in
5c36918c17 applied to that overlay.

So reverting that hunk.

See #12435 for the original investigation.
2019-05-29 16:43:24 -07:00
Tim Abbott fa37c5cee1 docs: Extract a Writing Documentation top-level section.
This should make this easier to find, and also makes "Subsystems" a
bit smaller of a catch-all.
2019-05-29 15:52:11 -07:00
Eeshan Garg cecea75457 api_docs: Detect missing arguments in curl examples.
This commit adds automated tests that make sure that every curl
example command in our API docs has the '-X (POST|GET)' argument.

Fixes: #11927
2019-05-28 16:53:48 -07:00
Tim Abbott 1fec51d73c help: Update the discussion of fake email addresses. 2019-05-27 23:23:48 -07:00
Rishi Gupta a2cf66c39e help: Update enable-full-width-display. 2019-05-27 23:21:39 -07:00
Rishi Gupta 0eeae3b6d0 email visibility: Enable feature and add user documentation. 2019-05-27 23:21:39 -07:00
YashRE42 e274ed8c3f info-overlay: Capitalize all hotkeys. 2019-05-27 14:39:09 -07:00
Anders Kaseorg 08f2ef0893 settings: Disable auto-hide on right pane scrollbar.
Fixes #11694.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-24 17:44:21 -07:00
Vishnu Ks e40addd181 jobs: Mention the email ID for applying to job. 2019-05-24 15:50:41 -07:00
Greg Price de66b3b0f1 corporate: Add a /jobs page, with job posts for mobile/fullstack.
With various edits from Rishi and Tim.
2019-05-22 22:20:58 -07:00
Hemanth V. Alluri 1dfac14e33 devtools: Change "message" to "results_notice" the integrations tool.
This was done to avoid confusion between the user notification (now
being called results_notice) and Zulip's messages.
2019-05-22 21:28:11 -07:00
David Wood e87d468f76 docs/org settings: Use "full member" terminology.
This commit modifies the help documentation and templates to use a "full
member"/"new member" terminology throughout.

With some tweaks by tabbott.
2019-05-21 17:48:46 -07:00
David Wood 0a56a1904d docs: Update documentation for new user settings.
This commit updates the documentation to reflect changes to the new user
settings.
2019-05-21 17:36:48 -07:00
Mayank Madan d5e61e20e5 dev tooling: Add "create new user" and "create new realm" buttons.
Significantly tweaked by tabbott to clean up and expand the tests.

Fixes: #6018.
2019-05-21 15:03:37 -07:00
YashRE42 7c7992f56b info-overlay: Replace all capitalized hotkeys.
In this commit, we replace all capitalized hotkeys with <Shift> + <Key>.
2019-05-21 14:25:24 -07:00
YashRE42 b8afddbd2a info-overlay: Add "bubble" style to keys. 2019-05-21 14:25:24 -07:00
YashRE42 8a914eb111 info-overlay: Unbold "or" between hotkeys. 2019-05-21 14:25:24 -07:00
YashRE42 15d04904bb info-overlay: Switch labels to left, keys to right. 2019-05-21 14:25:24 -07:00
YashRE42 e2ba65aa3f info-overlay: Improve styling of hotkeys.
Fixes: #11573.
This moves help_table to informational-overlays.scss, replaces "," with
"or" and "P" with "shift + p" in order to be more clear and legible
this also improves the styling of the text.
2019-05-21 14:25:24 -07:00
Lobster c1538fd0f5 docs: Update docs for Redmine Integration 2.0. 2019-05-21 09:21:28 -07:00
Tim Abbott 4cbe489576 docs: Highlight send messages API in incoming webhooks page.
While we already talk about this in the "overview" section, it appears
some folks skipped that and were confused.
2019-05-20 19:18:30 -07:00
Tim Abbott ba56833b02 auth: Make development login work with emails hidden. 2019-05-20 18:13:31 -07:00
Tim Abbott a15d85e7c4 integrations: Remove zulip-devel@ recommendation for jenkins.
That list is deprecated, and further, the issue tracker for the plugin
is a better place to report issues/trouble with the plugin in any
case.
2019-05-20 15:30:04 -07:00
Rishi Gupta fbc2239f73 keyboard shortcuts: Update description for S. 2019-05-20 15:10:11 -07:00
Rishi Gupta 3a02e362f5 keyboard shortcuts: Remove P from Basics.
This is not a top ten shortcut to know, and will eventually be g+p anyway.
2019-05-20 15:10:11 -07:00
Hemanth V. Alluri 1a12e112d9 devtools: Completely overhaul the frontend for the integrations devtool.
This commit also adds a small functionality change where the results of
each webhook fixture message sent is now displayed to the user.

With a small tweak by tabbott to fix a styling bug.

Fixes #12122.
2019-05-20 12:36:15 -07:00
Hemanth V. Alluri ef98211f68 devtools: Add support for non-json fixtures for the integrations tool.
Note: If you're going to send fixtures which are not JSON or of the
text/plain content type, make sure you set the correct content type
in the custom headers.

E.g. For the wordpress fixtures the "Content-Type" should be set to
"application/x-www-form-urlencoded".
2019-05-20 12:31:52 -07:00
Hemanth V. Alluri 8214d65336 devtools: Add support for send_all in the integrations dev panel.
Using this feature a reviewer can easily send and view all fixture
messages for any given integration - with only JSON fixtures that is.
2019-05-20 12:29:10 -07:00
Kanishk Kakar 77ab9a0eb0 docs: Update desktop repo URL. 2019-05-20 11:01:11 -07:00
Anders Kaseorg 01613e71fb ui: Replace set_up_scrollbar with data-simplebar attribute.
With perfectScrollbar, we needed to call a function from JavaScript to
enable a scrollbar on a new element, but simplebar has a much simpler
default API one can do by using data-simplebar attributes in the HTML.

So we can delete all the scrollbar creation/deletion code.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-19 18:06:38 -07:00
Anders Kaseorg 3daa4fa64d pm_list: Set up #private-container once and replace its contents.
Instead of deleting and rebuilding #private-container every time its
contents need to be updated, just replace its contents.  This
eliminates some scrollbar flashing.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-17 12:06:51 -07:00
Hemanth V. Alluri 2bd9c8cb42 devtools: Add custom HTTP headers support to the integrations dev panel.
This commit introduces a simple field where the user can now specify custom
HTTP headers. This commit does not introduce an improved system for storing
HTTP headers as fixtures - such a change would modify both the existing unit
tests as well as this devtool.
2019-05-17 11:50:53 -07:00
Rishi Gupta 7c9f377db0 help: Add enable-full-width-display.
Tweaked by tabbott to briefly describe the reason for Zulip's default;
this rough description has been satisfying for many people who've
asked in the past on chat.zulip.org.
2019-05-17 11:45:33 -07:00
Rishi Gupta fbe9c31683 help: Simplify description of non-consenting member export caveat. 2019-05-17 11:37:57 -07:00
Rishi Gupta f49103d1ee help: Clarify that deleting a topic also deletes messages with that topic. 2019-05-17 11:37:57 -07:00
Anders Kaseorg 76f25bca59 templates: Reenable mobile zooming on non-app pages.
Commit db45d220a8 (#3996) disabled
mobile zooming on all pages, with the reasoning that focusing an input
may automatically zoom the page and break content.  I’m not sure
whether that was a good reason, but at most it only applies to the app
page.  Reenable zooming on all other pages like the portico and
documentation to improve their accessibility.

(Note: the other common reason to disable zooming, which was that
mobile browsers once added a 300ms tap delay to recognize double-tap
zoom gestures, has been obsolete since 2014:
https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away)

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-17 11:30:30 -07:00
Anders Kaseorg cdd09d0441 meta_tags: Remove twitter:title, twitter:description, twitter:image.
Twitter falls back to og:title, og:description, og:image, which we set
identically, so these are redundant.

https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/markup.html

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-16 21:19:08 -07:00
Hemanth V. Alluri bae8295c52 devtools: Add integrations dev panel.
This commit adds a new developer tool: The "integrations dev panel"
which will serve as a replacement for the send_webhook_fixture_message
management command as a way to test integrations with much greater ease.
2019-05-15 13:07:44 -07:00
Vishnu Ks 06983298ba export: Add support for exporting realm with member consent.
This lets us handle directly in our tooling the user experience that
we document for exporting a realm with member consent (before, it
required unpleasant manual work).
2019-05-15 12:35:32 -07:00
vinitS101 611f1f8fd2 left_sidebar: Add "+Add streams" to bottom of streamlist.
Added a new button at the bottom of the stream list which redirects
users to '/#streams/all' where they can create new streams or subscribe
to new streams.
The button is not visible to guests.

Fixes #11642.
2019-05-14 16:12:51 -07:00
Puneeth Chaganti 64ad031d5c writing-bots: Use a fenced code block to fix rendering.
Type annotation for the function is not rendered correctly: `-> None` is
rendered as `-&gt; None`.
2019-05-14 15:35:12 -07:00
vinitS101 18a424be79 uploads: Remove unusable UI elements if file uploading is disabled.
If MAX_FILE_UPLOAD_SIZE is set to 0, then UI elements like the upload
icon in the compose and message edit UI and "Attachments" menu in
"/#settings" are not displayed.
A different error message is also displayed if a user tries to drag and
drop or paste a file into the compose message box.

Fixes #12152.
2019-05-08 17:10:07 -07:00
Rishi Gupta c40eb524de org settings: Change a few references to Jitsi to Jitsi Meet.
Jitsi Meet is the correct name for the product we integrate with. There is
one other reference to Jitsi, but it's in the db and will require a
migration.
2019-05-08 15:10:21 -07:00
Rishi Gupta 42c37ef2ee support: Update wording of scrub realm button. 2019-05-08 15:09:48 -07:00
Rishi Gupta 98da11c558 support: Rename deactive to deactivated. 2019-05-08 15:09:48 -07:00
Vishnu Ks 27cfc02b21 support: Use CSS from app_components for buttons and input. 2019-05-06 20:12:48 -07:00
Vishnu Ks 6c58603eaf support: Add support for scrubbing realm. 2019-05-06 20:12:54 -07:00
Vishnu Ks f6203f068b support: Add support for activating and deactivating realm. 2019-05-06 20:12:48 -07:00
Vishnu Ks 9c1e409ea3 support: Update discount label to include nonprofit discount %. 2019-05-06 17:47:07 -07:00
Puneeth Chaganti be762f9485 digest: Strip down the digest email removing a lot of fluff. 2019-05-06 17:43:52 -07:00
Puneeth Chaganti 7000834a2b digest: Display the text email also in the /digest view. 2019-05-06 17:43:40 -07:00
Puneeth Chaganti dc1571426e open graph: Use the complete URL for open graph URLs.
Closes #12199
2019-05-05 17:51:53 -07:00
Alexandra Ciobica 8aa982f7ba user status: Add "clear message (x)" button for status message input.
This adds the same "x" button as we have in "stream search" or "people
search" to the user status modal.

The button is shown if someone types something, or if the status
message was already set (meaning there was already a value in the
input field). If the input field is empty, the button is not visible.

This fixes the follow-up comments from #12179.
2019-05-01 16:36:45 -07:00
Alexandra Ciobica 61758735f3 user status: Clean up code for user status options.
- Changed the <p>s to <button>s and modified the css accordingly.
- Changed the css to use scss nesting.
- Changed the line-height from 1.0em to 1.1em, because on Safari the "g" was not fully displayed.
2019-05-01 16:34:54 -07:00
David Wood 272ed90685 settings: Create an explicit invite_to_stream_policy setting.
This commit creates a new organization setting that determines whether
a user can invite other users to streams. Previously this was linked
to the waiting period threshold, but this was both not documented and
overly limiting.

With significant tweaks by tabbott to change the database model to not
involve two threshhold fields, edit the tests, etc.

This requires follow-up work to make the create stream policy setting
work how this code implies it should.

Fixes #12042.
2019-04-29 17:11:28 -07:00
Puneeth Chaganti f3f172991b open graph: Use uploaded realm icon for open graph images. 2019-04-28 22:50:27 -07:00
Rishi Gupta 14428f7996 docs: Clarify you need to upgrade from git for Zulip Cloud exports. 2019-04-26 15:59:24 -07:00
Vit Rozkovec a16da1f98c emails: Add alt tags to images. 2019-04-24 17:49:56 -07:00
Rishi Gupta a501abf3a1 settings: Move pm_content_in_desktop_notifications into Other notifications.
Not as nice as the previous coupling, but needed for upcoming refactors to
this page.
2019-04-23 15:24:39 -07:00
Rishi Gupta 29d30ceab7 settings: Decouple enable_push_notifications_offline from PM setting.
Note that this setting has always applied to both streams and PMs; the test
just clarifies that that is the case.
2019-04-23 15:24:39 -07:00
Rishi Gupta 154379c6ae settings: Update wording for PM settings on notifications tab. 2019-04-23 15:24:39 -07:00