Commit Graph

298 Commits

Author SHA1 Message Date
Tim Abbott
efed2fc8bc navbar: Enable 'About Zulip' in production. 2021-05-13 11:50:41 -07:00
Anders Kaseorg
668b5137b0 version: Display Zulip version in About Zulip dialog.
We record Git details about the merge-base with upstream branches in
the zulip-git-version file, if the upstream repository is available.

Note that the first Git upgrade after merging the parent commit will
not include the merge-base details, since the upstream repository will
not have been available.

Co-authored-by: Tim Abbott <tabbott@zulip.com>
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-05-13 11:36:12 -07:00
Tim Abbott
06f1ea657e navbar: Adjust label for usage statistics. 2021-05-12 10:34:12 -07:00
Tim Abbott
02676d5400 navbar: Reorder elements in gear menu. 2021-05-12 10:34:04 -07:00
Vishnu KS
051dab58ea navbar: Add gear menu advertisement for sponsoring zulip. 2021-05-12 10:21:48 -07:00
Abhijeet Prasad Bodas
9519221bb5 mute user: Remove development environment checks. 2021-05-10 16:38:21 -07:00
Anders Kaseorg
544bbd5398 docs: Fix capitalization mistakes.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-05-10 09:57:26 -07:00
Aman Agrawal
51acbefc8a recent_topics: Display compose box & enable compose hotkeys.
We move compose from being a part of message feed to
being a part of  middle column which is a common parent of recent
topics and message feed. This allows us to use a common compose
box for both the views. Fortunately, compose actions were
independent of this change so there weren't any evident
side effects.

Fixes #17543
2021-05-07 16:07:51 -07:00
Riken Shah
2f36c5aefc navbar_alerts: Add button to hide "Server Upgrade" alert for 7 days.
This button will allow users to avoid a distracting red banner across
their screen, while they wait for their sysadmin to do the upgrade
work.

Fixes: #18359
2021-05-06 15:55:40 -07:00
Tim Abbott
d7d79b57b7 docs: Replace legacy roadmap.md with release lifecycle page.
This new pages accomplishes several interrelated things:
* Documents that Zulip Cloud runs master and how that works.
* Documents policies on how long client apps are expected to support
  old releases in our compatibility matrix.
* Removes the 3-years-stale roadmap article.
* Provides a central place to talk about different versions in Zulip.
* Provides a better place to link to from our "you need to upgrade" nag.

This content is not intended to be final, but should be finalized in
the next week or so.

Fixes #18322.
2021-05-05 09:08:43 -07:00
Sumanth V Rao
474d647f3b templates: Remove development_environment safeguards for playgrounds.
Also with this we can mark #16432 as feature complete. There are a
couple of followups there for which we can open separate tasks/PRs.

Fixes: #16432
2021-05-04 12:19:04 -07:00
pilgrim2308
a74b52db22 UI: Add Zulip version in gear menu.
Currently only enabled in development, since the exact details don't
seem right..

Co-Author-By: Signior-X <b19188@students.iitmandi.ac.in>
Co-Author-By: Aman Agrawal <amanagr@zulip.com>

Implements UI for #8005.
2021-04-30 17:58:08 -07:00
sahil839
e669818544 invites: Allow user to be invited as a moderator.
This commit adds both frontend and backend code to invite a user as
moderator. We allow only existing owners and admins to invite a user
as a moderator.
2021-04-30 15:57:09 -07:00
Aman Agrawal
5bd37b44f2 zulip-icon: Add zulip-icon as classPrefix for icon.
This avoids general class names like `bot`.
2021-04-29 09:02:25 -07:00
Nyior
8e2042d378 security: Add tooling to nag users if a Zulip server is very old.
This will help ensure that users upgrade their Zulip server.

Essentially rewritten by tabbott.

Fixes part of #17826.
2021-04-27 12:10:48 -07:00
Aman Agrawal
08f6214829 keyboard_shortcuts: Use same wording as in search input of RT. 2021-04-27 10:02:34 -07:00
nikhilmaske-2001
32bde79b61
confirm_dialog: Use the Confirm and Cancel labels.
Long labels like "Yes, Unsubscribe this stream" can
be confusing for translators and it can also create bad
strings that can end with like 4 long words in German.
It is better to have the simple options like "Confirm"
and "Cancel". This commit fixes this issue by changing
the text to "Confirm".

Fixes #17926.
2021-04-26 16:36:21 -07:00
Abhijeet Prasad Bodas
bbbaa109ec settings: Add UI page for managing muted users.
This page is temporarily hidden except in the development environment,
because the "muted users" feature is incomplete.
2021-04-21 10:17:44 -07:00
Abhijeet Prasad Bodas
e56db79af4 mute user: Add dev-only UI to mute/unmute a user.
Since the "mute users" feature isn't complete yet,
this UI is shown only in development setups.
Ideally we should have had this commit after the whole
feature was completed and merged, but doing so makes it
difficult to test and merge subparts of the feature one by
one (which is a better workflow, while we still decide what
exactly we want this feature to do).

This commit adds a new button in the user info popover
to mute or unmute the user, and uses a confirmation
dialog while muting, because muting a user accidently can lead
to the muter losing out on a lot of information.

TODOs when making this UI visible in production-
1. Make a /help page and link to it from the confirmation
dialog and the API docs.
2021-04-21 10:14:27 -07:00
Anders Kaseorg
dd3fa4ac52 templates: Mark all void tags as self-closing.
This reverses the policy that was set, but incompletely enforced, by
commit 951514dd7d.  The self-closing tag
syntax is clearer, more consistent, simpler to parse, compatible with
XML, preferred by Prettier, and (most importantly now) required by
FormatJS.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-04-21 09:49:34 -07:00
Tim Abbott
051d448bc0 invite modal: Fix sorting of roles.
Previously, we would show the guest role oddly between organization
administrator and organization owner.

We preserve the property that the Member role is the default.
2021-04-20 10:55:38 -07:00
Aman Agrawal
70d444a8eb compose: Move to hbs file and append it to DOM on init.
We move compose.html to compose.hbs file while keeping
`#compose` still in `home.html` as a hanger
where append rest of the elements.

This will provide us with two benefits:
* We could share common elements between message_edit_form and
compose.
* We can insert compose directly in any element. We may decide to
do it for recent topics.
2021-04-19 16:53:30 -07:00
Sumanth V Rao
0ecf5d0e83 settings_playground: Add UI to list all playgrounds.
Adds a setting UI to list all configured playgrounds
in a realm. The filter functionality can be used to
search playgrounds by its name or language.

Default sort is provided on the 'pygments_language'
field.

Front tests added to maintain server_event_dispatch
coverage. The `settings_playgrounds.js` file is added
to coverage exclusion list since it is majorly UI
based and will be tested using puppeteer tests (in
following commits).
2021-04-19 12:54:59 -07:00
Tim Abbott
208721b3d7 left sidebar: Fix misleading "search streams" label.
This widget only filters the user's subscription -- it's only suggest
public streams that the user is not subscribed to.  "Filter" is the
correct label for a widget with this use case.
2021-04-15 15:36:05 -07:00
Aman Agrawal
84afc67369 top_left_corner: Directly use span.unread_count to display unreads.
In an effort to use a common class to display unread counts across
the app, we simplify the elements used to show unreads and use a
single `span` with `unread_count` class to do so.
2021-04-14 10:57:16 -07:00
Prakhar Gupta
a220a7105e
left sidebar: Change label for exiting topic zoom to Back to Streams.
All streams in left-side bar cause discrepancy
as it is unable to express if it is heading for
the current column as "Streams" is in previous
column or is it text description for the back icon.
Renaming "All streams" to "Back to streams" removes
discrepancy.
2021-04-09 09:57:35 -07:00
Aman Agrawal
d4fa938a23 giphy: Convert compose_giphy_logo from id to class.
Since there are multiple `compose_giphy_logo` elements, we should
use it as a class as per HTML spec.
2021-04-08 10:03:51 -07:00
Aman Agrawal
e9a9eb9a43 stream_header: Use consistent tooltip text. 2021-04-07 17:11:23 -07:00
Aman Agrawal
52eeb7bc68 streams_nav: Use tippy for tooltip.
Tippyjs automatically places it to right, placement can change to
bottom if there is no space available to right.
2021-04-07 17:11:23 -07:00
Aman Agrawal
910ceebfc1 user_list_title: Use consistent tooltip text for user search.
Make the text for tooltip on search icon and header same.
2021-04-07 17:11:23 -07:00
Aman Agrawal
e0c9c92cf1 userlist_search: Use tippyjs for showing tooltips.
Placement is set to `auto` which is based on space available.
Hence, it varies based on browser width and the current narrow.
2021-04-07 17:11:23 -07:00
Aman Agrawal
d4248cf060 keyboard-icon: Use tippyjs for tooltip.
Tippyjs automatically places it to left.
2021-04-07 01:24:52 -07:00
Aman Agrawal
5e83965e80 giphy: Use GIPHY web SDK to allow inserting GIFs in compose box.
We use GIPHY web SDK to create popover containing GIFs in a
grid format. Simply clicking on the GIFs will insert the GIF in the compose
box.

We add GIPHY logo to compose box action icons which opens the GIPHY
picker popover containing GIFs with "Powered by GIPHY"
attribution.
2021-04-05 15:04:49 -07:00
Megamind
27d1f5e0e3
frontend: Use fa-user-plus as invitation icon in gear menu. 2021-03-29 13:31:38 -07:00
Vishnu KS
8737634347 navbar: Include opening and closing braces in translation tags.
This fixes the bug introduced in the following commits.

161342a298
3165ffa8e2
2021-03-26 16:28:45 -07:00
Anders Kaseorg
d22a61443e notifications: Remove in_browser_notify and bootstrap-notify.
Follow up to #14768.  This feature was already non-functional due to
.alert-display { display: none; }, and if we want to reimplement it,
we should do it using a modern library.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-22 23:40:38 -07:00
Anders Kaseorg
aff8a32bc1 notifications: Simplify sound playing.
Remove the unused notifications-area wrapper.  Remove the feature
detection code as all browsers recognize the <audio> element.  Create
the <audio> statically with the page template.  Use multiple <source>s
to let the browser detect the appropriate format instead of trying to
do its job for it.  Remove the absurd loop="yes" attribute, which had
fortunately been specified on the wrong element.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-22 23:36:38 -07:00
Gaurav Pandey
dea5245590 right-sidebar: Fix design bugs with keyboard-shortcuts.
The keyboard-shortcuts icon currently has a fix position
causing design related bugs such as overlapping with userlist
in the sidebar.

The fix wraps the invite-more-users link and keyboard icon inside
a div with display property as flex instead of just using the anchor
tags inside the side-bar items.
2021-03-22 19:29:46 -07:00
Megamind
ec43f5418d
right sidebar: Improve icon for "Invite more users".
This replaces the `+` with a version that has a user head next to it.
2021-03-17 17:33:25 -07:00
Vishnu KS
cda64b6204 navbar: Tag organization profile update message properly for translation. 2021-03-16 15:15:09 -07:00
Vishnu KS
c463ccc4e4 navbar: Tag desktop app security alert message properly for translation. 2021-03-16 15:15:09 -07:00
Vishnu KS
1c6f223d06 navbar: Tag unread alert message properly for translation. 2021-03-16 15:15:09 -07:00
Gaurav Pandey
7ddf6435a9 left-sidebar: Remove add-streams option out of scrollbar.
This commit removes the option to add more streams out of scrollbar
as it is not visible on mobile devices or organizations with large number of
streams until scrolled down.
2021-03-16 14:10:04 -07:00
Nikhil Maske
236393d5cf left_sidebar: Place the title at private_messages_header div.
The title in li.top_left_private_messages applies the title
to private-container too. This causes to show "Private message"
title to private message elements. To fix this, the title is
placed at div.private_messages_header.
2021-03-15 12:04:22 -07:00
Abhijeet Prasad Bodas
9223dced3b refactor: Rename filter to linkifier in frontend code and docs.
This only leaves `page_params.realm_filters`, which
will be changed in further commits along with the
API change.
2021-03-15 11:19:59 -07:00
Megamind
238c2ff4fb
Rename "Add streams" to "Subscribe to more streams" in left-sidebar.
The "Add streams" button text made users think this was what you needed to create
additional streams in the organization.  While that's correct for the first user/organization 
administrator, it's not correct for most other users.
2021-03-14 18:09:37 -07:00
Anders Kaseorg
3e552268e5 templates: Delete unused markdown_help.html.
Apparently I failed to finish deleting it in commit
7f30e5f9df (#17560).

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-11 21:45:48 -08:00
Anders Kaseorg
7f30e5f9df info_overlay: Render Markdown help with frontend Markdown library.
Fixes #15375.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2021-03-11 21:24:39 -08:00
Aman Agrawal
e587c029f6 display_settings: Allow user to set default_view.
TextField is used to allow users to set long stream + topic narrow
names in the urls.

We currently restrict users to only set "all_messages" and
"recent_topics" as narrows.

This commit achieves 3 things:
* Removes recent topics as the default view which loads when
  hash is empty.
* Loads default_view when hash is empty.
* Loads default_view on pressing escape key when it is unhandled by
  other present UI elements.

NOTE: After this commit loading zulip with an empty hash will
automatically set hash to default_view.  Ideally, we'd just display
the default view without a hash, but that involves extra complexity.

One exception is when user is trying to load an overlay directly,
i.e. zulip is loaded with an overlay hash. In this case,
we render recent topics is background irrespective of default_view.

We consider this last detail to be a bug not important enough to block
adding this setting.
2021-03-11 18:09:08 -08:00
Aman Agrawal
a210ee2b7d recent_topics: Don't revive focus when user is trying to type. 2021-02-25 17:31:33 -08:00