Commit Graph

49314 Commits

Author SHA1 Message Date
Sahil Batra 6ad8e276de settings: Refactor code for realm message retention setting.
This commit refactors the code for realm message retention
setting to make it more similar to code for other time-limit
realm settings. There are still separate functions for the
message retention setting but they are similar to that of
other time-limit settings and can probably help us to
deduplicate the code in future. This refactor also helps
us in reusing some code for stream message retention
setting for changes in #23013.

This commit also fixes a bug where save-discard widget
not being hidden when resetting the setting to original
value. This can only be reproduced when the original
setting value is "retain_forever".

Following changes have been done in this commit -

- Added data-setting-widget-type attribute which is set to
"message-retention-setting" similar to "time-limit" value for
message edit and delete limit settings.

- Added get_message_retention_setting_value function similar
to get_time_limit_setting_value function which is used by
get_input_element_value.

- Removed "message-retention" block from
get_complete_data_for_subsection and the message retention
setting is now added to request data in populate_data_for_request
itself using data-setting-widget-type attribute.

- Updated id and class of elements to support the above changes.
2022-11-10 16:13:49 -08:00
Sahil Batra 73e247f08c settings_org: Fix save-discard not hidden for "Other settings" section.
When resetting a setting in "Other settings" section to its original
value, the save-discard widget for the section is not hidden. This can
be reproduced when no language is set for code-block default language
setting. This was because check_property_changed incorrectly returned
true as the original value for code-block language setting was null
but the widget element returned empty string.
2022-11-10 16:13:49 -08:00
Riken Shah 51870f86da recent_topics: Show user status emoji in PMs messages.
To implement this, we are rendering users in PMs with
the status icon (via `user_with_status_icon.hbs`) and
then passing rendered HTML to the recent topics row.

Fixes #23262
2022-11-10 12:32:08 -08:00
Riken Shah 9d12a9c21e recent_topics: Show user presence status in PMs messages.
We have bound the `mouseenter` event with a circle
status parent element to render the tooltip. Instead of passing
the tooltip content directly in `data-tippy-content`, we
are rendering it via JS because when showing the bot
tooltip we want a multiline tooltip.

We have also made some minor changes to `do_render_buddy_list_tooltip`,
so we can append the tooltip to the target element and avoid adding
a observer to it.

This commit also sets the font weight for tippy content to
400 to avoid bold content.
2022-11-10 12:32:08 -08:00
Aman Agrawal 6e3d8c7733 recent_topics_row: Let pm status icons have its own class.
Some additional changes to make align them correctly after
the assigning the new class.
2022-11-10 12:32:08 -08:00
Lauryn Menard f0c71a0293 unread-ops: Add check to make `mark_as_read_turned_off_banner` visible.
When processing an "update_message_flags" event to mark messages
as unread, check the current message list once messages are updated
to see if the `mark_as_read_turned_off_banner` should be visible.

This means that other clients in a view that also does not mark
messages as read (for example a sender or keyword search narrow)
will also load the banner when the view is updated.

Fixes #23502.
2022-11-10 12:07:02 -08:00
Sayam Samal f204a4c592 user_profile_modal: Move presence activity status to modal header.
Moving the last active status icon to the modal header, we obtain a
cleaner visual design for the user profile modal which is more
consistent with other parts of UI.
2022-11-10 12:03:59 -08:00
Alya Abbott 52a04b53ad help center: Clean up "Deactivate or reactivate a user" help page.
Also, removes now unused image in `/static/images/help`:
`deactivate-user-email.png`.

Fixes #23503.
2022-11-10 12:00:25 -08:00
Alya Abbott 343bd395ca help center: Make minor tweaks to Change a user's {role}/{name} pages.
- Factor out instructions for navigating to the "Manage this user" tab.
- Add links to related articles.
2022-11-10 12:00:25 -08:00
David Rosa 59df44f5ce help center: Migrate reusable content in "Import from Slack".
Moves reusable content to multiple Markdown macros.
2022-11-10 11:56:55 -08:00
David Rosa ba44f308dc help center: Tweak "Import from Slack" page for reusability.
We can reuse the content from multiple sections of the Slack article
to update "Import from Mattermost/Gitter/Rocket.Chat" by making small
wording tweaks.
2022-11-10 11:55:41 -08:00
David Rosa 8e21b6bf95 help center: Improve "analytics" article.
- Renames the page to "Usage statistics" (title & left sidebar).
- Adds an intro section that outlines the types of information
that can be found on the stats page.

Fixes #23449.
2022-11-10 11:27:42 -08:00
Rixant Rokaha dd39a9747d left_sidebar: Hide stream section separator when there is only one.
Showing section separators in the left sidebar ("Pinned streams",
"Active streams", etc.) is unnecessary when there is only one section,
and can feel confusing. We should show the separators only when there
is more than one section present.

Fixes #22843.
2022-11-09 17:34:58 -08:00
Tim Abbott 72b5af2260 docs: Clarify the http_only parameter.
Previously, the http_only parameter could have been misread as
allowing clients to connect to a Zulip server over HTTP directly.

Fixes #23506.
2022-11-09 17:05:15 -08:00
Tim Abbott 9074a164e6 resize: Adjust left_side_userlist sizes when showing sidebar.
This fixes a race in certain intermediate sizes, with the
left_side_userlist setting, the sidebar sizes would have been computed
with invalid information about the size of the two regions to divide
space between (because the sidebar was closed when the calculation was
done).
2022-11-09 16:55:19 -08:00
Tim Abbott 56005da39d popovers: Simplify sidebar hiding logic for user menus.
Structurally, the goal of this logic is to just hide all popovers
(including potential user popovers) and not the sidebars; use the
function designed for that purpose rather than hackily
hand-implementing it.
2022-11-09 16:55:19 -08:00
Tim Abbott 87bc18c2be popovers: Don't close user list sidebar opening left sidebar menus.
In window width ranges where the left sidebar is fully open and the
right sidebar is toggleable, the existing logic to hide all popovers
and then reopen the left sidebar stream list.

We have a function designed to close all popovers that aren't
sidebars; we should just use it.

See 2d414fa897 for a previous incomplete
fix for this issue.
2022-11-09 16:55:19 -08:00
Aman Agrawal 7dbd2f74d9 resize: Simplify code to calculate max height of left sidebar blocks.
The `size_blocks` code was cool looking but wasn't working well.
Since we only have to place streams list and users list, we can
fix their `max-height` more easily without trying to solve the
`multi-block` case which `size_blocks` was trying to do.

This also fixes users list max-height being incorrectly set,
resulting in user unable to scroll to some user list items.
2022-11-09 16:55:19 -08:00
Alya Abbott 37a7adfd96 portico: Add new features to /features page. 2022-11-09 16:47:40 -08:00
David Rosa 47a8eb0b66 help center: Document viewing @-mentions.
Adds "View your mentions" page to document how to access @-mentions
and the @ indicator for unread @-mentions on desktop/web and mobile.

Fixes #23422.

Co-authored-by: Alya Abbott <alya@zulip.com>
2022-11-09 15:51:44 -08:00
Tim Abbott c22de76af7 settings: Fix reuse of .stream-row class name.
The stream-specific notifications table incorrectly used the
.stream-row CSS class. As a result, live-update code for the "stream
settings" UI when changing a stream's permissions model would
incorrectly replace rows of this table with a "Manage streams" style
row.
2022-11-09 15:30:03 -08:00
Anders Kaseorg 70dbeb197f middleware: Set the correct options on the django_language cookie.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-11-09 14:24:22 -08:00
Lauryn Menard 53df35e698 tools: Remove obsolete `_set_error_state` method in linter spider.
In 2f547ea, the custom `has_error` logic in BaseDocumentationSpider
was removed in favor of checking whether any errors were logged.

One reference to that method was missed in UnusedImagesLinterSpider
and went unremarked as no images were added to the documentation
that were not used.

Replaces that reference with an error log.
2022-11-09 11:54:19 -08:00
David Rosa 233e690fb4 tools: Upgrade scrapy's settings.py to the latest version.
Fixes a warning caused by using the deprecated `2.6` value
of the `REQUEST_FINGERPRINTER_IMPLEMENTATION` setting.

Upgrades `settings.py` to what would have been generated
by starting the documentation_crawler project using the
`startproject` command of scrapy v2.7.
2022-11-09 11:40:07 -08:00
Alex Vandiver 0fa7b8e1ae api: Link to new rate-limiting configuration documentation. 2022-11-09 09:56:16 -08:00
David Rosa a9f2ec27d6 help center: Document notification triggers.
Documents the top checkboxes section for controlling mobile, desktop,
and email notifications.

Fixes #23371.
2022-11-08 17:45:04 -08:00
Alya Abbott 9937b8112d help center: Update documentation on reading private messages.
- Describe the new PMs section in the left sidebar.
- Mention Recent conversations.

Fixes #23420.
2022-11-08 17:44:46 -08:00
Eric Smith c7ce20283b docs: Update to match current admin.js
Made some small changes to documentation to match the code in the
current admin.js

Fixes: There was no related issue for this fix.
2022-11-08 17:41:14 -08:00
Aman Agrawal d15b29f056 list_widget: Add functions to add and remove a rendered item in the list.
This a refactoring commit as a followup from #23385.
2022-11-08 13:27:48 -08:00
Aman Agrawal 8e9ae426c0 recent_topics_ui: Add a comment regarding finding if the topic is rendered. 2022-11-08 13:27:48 -08:00
Alex Vandiver 03f0cb07ff puppet: Upgrade puppetlabs libraries. 2022-11-08 13:26:32 -08:00
Alex Vandiver 6f46faa980 bootstrap-awscli: Upgrade awscli version. 2022-11-08 13:26:32 -08:00
Alex Vandiver 6517e4b239 puppet: Update third-party package versions. 2022-11-08 13:26:32 -08:00
Aman Agrawal 542aea4b1c left_sidebar: Remove `chevron-left` from back to streams.
This will help us make `Back to streams` look better with PMs header.
2022-11-08 13:25:42 -08:00
Aman Agrawal 46967002dd left_sidebar: Show PM section in topics zoomed view.
This is important to preserve the invariant that the unread count for
private messages is always visible.

Fixes #23391.
2022-11-08 13:25:09 -08:00
Aman Agrawal 1b304c5296 left_sidebar: Match color of `show-all-streams` to other headers.
Specifically trying to match the color to PMs header.
2022-11-08 13:24:11 -08:00
Aman Agrawal fc7ec5d8f9 left_sidebar: Left align show all streams with other buttons.
This includes a slight color change to `show-all-streams` to
match with the other headers.
2022-11-08 13:24:11 -08:00
Aman Agrawal 1192488240 left_sidebar: Left align all the section headers with the icons. 2022-11-08 13:24:11 -08:00
Aman Agrawal 41a60f84b9 left_sidebar: Correctly align user status icon.
Align the user status icons with the other icons in the left
sidebar so that their center falls in the same vertical line.
2022-11-08 13:24:11 -08:00
PALASH BADERIA 343e15a23d
settings: Link to relevant help center articles in notification settings.
This provides a hook for users to get to these /help/ pages, which contain
details on exactly how these notifications/settings work, as well as
troubleshooting advice.

Fixes: #23369.
2022-11-08 11:12:19 -08:00
Lauryn Menard 62c9bb728e tests: Remove ignored `field_type` param in custom profile data test.
For PATCH requests to `/realm/profile_fields`, the field_type is
determined via the field.id, which is in the URL. Therefore,
`field_type` does not need to be passed as part of the request
data in tests.
2022-11-08 11:08:14 -08:00
Lauryn Menard aac76bb185 narrow-banner: Update empty title for "pm-with" multiple users.
Instead of using "these people", we use "these users".

Note that the "pm-with" single user case has already been updated
to show the user's full name instead of "this person".
2022-11-08 11:07:38 -08:00
Lauryn Menard c4d407e992 api-docs: Update 'construct-narrow' article.
Fixes small error in the example at the top of the article, and
adds a short statement about narrows searching the current user's
personal message history with a link to the help center article.

Gives the final section a subheader and adds the two other narrow
operators that take an ID.
2022-11-08 11:07:00 -08:00
David Rosa 81f3307da0 help center: Mention stream section labels.
Updates the relevant help center articles to reflect that the
sections for Pinned and Inactive streams in the left sidebar
now have labels.

Fixes #23423.
2022-11-08 10:44:57 -08:00
David Rosa 2eaff50a59 help center: Document viewing read receipts on mobile.
Adds instructions for viewing read receipts in the mobile app.

Fixes #23479.
2022-11-08 10:43:50 -08:00
Mateusz Mandera 34a0139c2b rate_limit: Add interface to override rate limiting rules. 2022-11-08 08:56:42 -08:00
Sahil Batra 7c4da60b53 message: Don't create historical UserMessage rows when marking as read.
We do not create historical UserMessage rows, for messages that didn't
have one, while marking messages as read and simply ignore those messages.
We do so because there is no user of creating UserMessage rows and it just
wastes storage.

Note that we still allow to mark messages from unsubscribed streams as
read but only those which have UserMessage rows for them to handle the
case when the unread messages were not marked as read while unsubscribing
from the stream due to some race condition. In such cases, messages
will not be included in the unread count shown in "All messages" menu
(and stream is anyways not present in the left sidebar), but the message
border on the left is green if viewing the stream after unsusbcribing it.
So, to avoid the confusion for users, the messages will be marked as read
when user scrolls down.
2022-11-08 08:50:17 -08:00
Zixuan James Li 390e2a12e5 webhooks: Use get_short_sha to get shortened sha.
This unifies the length of the shortened SHA our integrations generate,
and ensures that they are long enough for projects of various sizes with
a chosen value defined in get_short_sha.

Fixes #23475

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-11-08 08:20:51 -08:00
Zixuan James Li 4e46899494 webhooks: Pick a more reasonable length for short sha.
7 characters are not enough for large projects, so we change
it to reasonably longer. As an example, The Linux kernel needs
at least 11 characters of sha in its shortened form to identify
a revision. We pick 11 so it should work for most of the projects.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-11-08 08:20:51 -08:00
Lauryn Menard 2a1ceb58d9 api-docs: Return 404 for direct `/api-doc-template` call.
We use `templates/zerver/api/api-doc-template.md` as a base template
for the documented API endpoints in `zerver/openapi/zulip.yaml`.

Previously, if this template was called as an endpoint, then it
would fail an assertion check and send server error. Now we check
for specifically for that potential path and return a 404 error
response for no existing article.

Fixes #21876.
2022-11-08 08:10:15 -08:00