Commit Graph

66191 Commits

Author SHA1 Message Date
Sahil Batra
c127a0ae9f settings: Add UI to manage channel folders.
Fixes part of #35545.
2025-08-06 18:58:15 -07:00
Maneesh Shukla
7732aa0423 upgrade-banners: Refactor upgrade banners.
Instead of defining three separate banner objects with mostly identical
properties, dynamically construct the buttons array and intent based on
user permissions and organization type.

Also changes "Upgrade to access" button text to just "Upgrade" for
consistency.
2025-08-06 17:16:19 -07:00
Sahil Batra
fac28bf800 streams-ui: Move folder related UI functions to new file.
This commit moves function for creating, editing and archiving
folders in a new file channel_folders_ui.ts so that they can
be defined separately than the files for stream settings UI.
2025-08-06 17:05:19 -07:00
Karl Stolley
42014f2f79 site_previews: Don't hide overflow on data-container.
Because both .message_embed_title and
.message_embed_description manage their own overflow,
there's no need to set it on the outer container,
which can clip the top of the letters on message titles
under certain circumstances.
2025-08-06 17:04:04 -07:00
Tim Abbott
f177598ecf api: Increment API feature level to 414. 2025-08-06 16:34:40 -07:00
Shubham Padia
c4cb75979a channel-folders: Order by order field in GET method. 2025-08-06 16:34:40 -07:00
Shubham Padia
22b231ab6f channel-folders: Add PATCH method to reorder channel folders.
The test cases are copied from ReorderCustomProfileFieldTest since we
are imitating the reordering mechanism from custom profile fields to
channel folders.
2025-08-06 16:34:40 -07:00
Shubham Padia
40132e200b channel-folders: Add order field and backfill it alphabetically. 2025-08-06 16:34:40 -07:00
Shubham Padia
d609bd44a9 channel-folders: Setup data in class instead of each test.
We used the data setup from the get test case since it needed the most
number of folders.
2025-08-06 16:34:40 -07:00
Alex Vandiver
d6f1526086 transfer: Upload thumbnails for image files.
Fixes: #35029.
2025-08-06 15:46:07 -07:00
Alex Vandiver
ad915679ad tests: Add tests for transferred file metadata. 2025-08-06 15:46:07 -07:00
Alex Vandiver
a590cfdbe8 tests: Add tests for S3 image metadata, and lack therof on thumbnails. 2025-08-06 15:46:07 -07:00
Karl Stolley
c974b3c05c audio_player: Allow resizing to message area on narrow viewports. 2025-08-06 10:45:31 -07:00
Karl Stolley
32da008335 audio_player: Improve vertical alignment. 2025-08-06 10:45:31 -07:00
Karl Stolley
b37a78c7b3 audio_player: Do not interfere with native player display. 2025-08-06 10:45:31 -07:00
Karl Stolley
6e9ad5faf1 audio_player: Reference audio via .media-audio-element class. 2025-08-06 10:45:31 -07:00
Karl Stolley
05b8fea10f audio_player: Postprocess audio for added structure, classes. 2025-08-06 10:45:31 -07:00
Karl Stolley
7e6773dc73 audio_player: Remove shadow-DOM CSS adjustments. 2025-08-06 10:45:31 -07:00
Shubham Padia
5e9dec802e help-beta: Make loose ordered lists tight in the conversion tool.
We chose not to edit the original markdown files to make this change
since the conversion script logic can be used for removing these lines
with very little changes and we don't need the original markdown source
files to be edited before the cutover.

The css for making loose and ordered lists look same has been removed
since we wanted to to respect commonmark specification.
2025-08-06 10:44:04 -07:00
Karl Stolley
2fdf179d42 navbar: Redraw log-in icon with thinner stroke. 2025-08-06 10:16:55 -07:00
Alex Vandiver
2909d4917c send_zulip_update_announcements: Log updates in the post-deploy hook. 2025-08-06 09:52:45 -07:00
Alex Vandiver
b98d3fc7c4 tests: Clarify why encoding test uses NamedTemporaryFile. 2025-08-06 09:41:44 -07:00
Alex Vandiver
3325c21e7f tests: Add clarifying comment about "wrong" charset. 2025-08-06 09:41:44 -07:00
Alex Vandiver
218bbe041e upload: Adjust minimum encoding confidence thresholds.
UTF-8 is far and wide the dominant encoding, so we assume that
encoding if we have more than 66% confidence -- this allows it to be
guessed even for short files.  ISO-8859-1 caps at 73% confidence, so
we assume that if it's the best option and it hits that max.
Otherwise, we still require 90% confidence.
2025-08-06 09:41:44 -07:00
Prakhar Pratyush
787d73f018 push_notification: Update the payload data that gets encrypted.
This commit updates the data that gets encrypted to be
the same on both android and iOS.

The data and its format is almost the same as what we send
as FCM payload to android clients with no E2EE support,
changes are:

For send push notification payload:
* 'realm_id`, 'server', 'sender_email', and 'realm_uri' fields
  don't exist in the new payload.
* 'event' field renamed to 'type'
* 'stream' and 'stream_id' fields renamed to 'channel_name'
  and 'channel_id' respectively.
* The value of 'recipient_type' will be 'channel' & 'direct'
  instead of 'stream' & 'private' respectively.
* 'zulip_message_id' field renamed to 'message_id'

For remove push notification payload:
* 'realm_id`, 'server', and 'realm_uri' fields don't exist
  in the new payload.
* 'event' field renamed to 'type'
* 'zulip_message_ids' field renamed to 'message_ids' and it's
  value will be a JSON array instead of a string.

In the existing iOS client, we have no code of our own involved
in constructing the notifications in the UI, and instead we
leave it to the iOS SDK to do so.

Since, for clients with E2EE support the data is going to be
interpreted by our own code, not by the iOS SDK - we are free
to keep the same data and format.

Co-authored-by: Tim Abbott <tabbott@zulip.com>
2025-08-05 16:54:22 -07:00
Prakhar Pratyush
dd134ef325 push_notification: Remove 'content_truncated' field from FCM payload.
This commit removes the 'content_truncated' field from the FCM
payload to send push notification as it was unused by clients.
2025-08-05 16:54:22 -07:00
Prakhar Pratyush
c9edb9c9ce push_notification: Remove 'zulip_message_id' from FCM payload.
This commit removes the 'zulip_message_id' field from the FCM
payload for remove push notification.

Clients that use `zulip_message_ids` instead have been out for
years and we no longer support older client versions that don't.
2025-08-05 16:54:22 -07:00
Prakhar Pratyush
1a5cab130d push_notification: Remove obsolete fields from APNs payload.
Mobile push notification payloads for APNs no longer contain
the `server` and `realm_id` fields, which were unused.
2025-08-05 16:54:22 -07:00
amcdowell226
124a32e819 compose: Save messages as drafts when window loses focus.
Add a check for window blur and save any in-progress
messages as drafts. This will help prevent unnecessary
message loss for the user by creating drafts for them more
whenever they switch away from their Zulip tab.

Tested on my local Ubuntu development with a demo
organization and some of the premade profiles.

Fixes #35262.
2025-08-05 15:28:13 -07:00
Vector73
f689dfc3c3 message_move: Mark notification messages as read for acting user.
When moving messages, the notification messages should be
automatically marked as read for the user who moved the messages.
2025-08-05 15:27:08 -07:00
Karl Stolley
4b822d19cf left_sidebar: Respect masked unreads in active home view. 2025-08-05 15:04:14 -07:00
Karl Stolley
27f2b45523 left_sidebar: Ensure same footprint for condensed vdots. 2025-08-05 15:04:14 -07:00
Karl Stolley
fb8f695d28 left_sidebar: Vastly improve the unread-dot placement. 2025-08-05 15:04:14 -07:00
Karl Stolley
21e7876fbc left_sidebar: Improve responsiveness and flex of condensed icons. 2025-08-05 15:04:14 -07:00
Karl Stolley
1b7e42c7df left_sidebar: Suppress unread count on highlighted home row. 2025-08-05 15:04:14 -07:00
Karl Stolley
f362c4ea91 left_sidebar: Suppress home-view icon dot when unreads show. 2025-08-05 15:04:14 -07:00
Karl Stolley
b27a9fdbf1 left_sidebar: Show home unread count in condensed views.
The view is left as-is, however, for users who prefer
masked unreads.
2025-08-05 15:04:14 -07:00
Karl Stolley
070f497785 left_sidebar: Make condensed views aware of hide-count preference. 2025-08-05 15:04:14 -07:00
Aman Agrawal
067ecbbbfe inbox_ui: Fix scroll jump after initial render.
It is possible for us to scroll user back to top of view if they
scroll before the render is complete and we haven't called
`revive_current_focus` yet.

This fixes it by wrapping the render and revive logic in a single
animation frame so that any scroll requests are delayed until we
have completed both of them.
2025-08-05 14:57:52 -07:00
Prakhar Pratyush
9c0777ad26 settings: Add '.highlighted-element' to <b> in stream & group settings.
This commit adds 'highlighted-element' class to <b> tags in
the following parts of the settings panel:
* who can access channel
* user member of a user group because of being part of a subgroup
  already added.

'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-05 14:50:56 -07:00
Prakhar Pratyush
2005e5f616 compose_banners: Add '.highlighted-element' to <b> in compose banners.
This commit adds 'highlighted-element' class to <b> tags in
the following compose banners:
* jump_to_sent_message_conversation_banner
* stream_does_not_exist_error
* unknown_zoom_user_error
* channel wildcard_mention_not_allowed_error
* topic wildcard_mention_not_allowed_error

'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-05 14:50:56 -07:00
Prakhar Pratyush
8248ef8de7 modal: Add '.highlighted-element' to <b> in try-zulip & api-key modals.
'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-05 14:50:56 -07:00
Prakhar Pratyush
091ae95e69 left_sidebar_popover: Add highlighted-element class to <b>.
This commit adds 'highlighted-element' class to <b> tags in
the following left sidebar popovers:
* inbox
* combined feed
* recent conversations

'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-05 14:50:56 -07:00
Prakhar Pratyush
a37cea2c5f confirm_dialog: Add highlighted-element class to <b> in confirm dialogs.
This commit adds 'highlighted-element' class to <b> tags in
the following confirm dialogs:
* delete topic
* mute user
* join user group

'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-05 14:50:56 -07:00
Vector73
9eda1f11ca tests: Use built-in users instead of creating new users in tests. 2025-08-05 14:46:12 -07:00
Vector73
6c94266bf9 stream_data: Rename is_stream_archived function.
Renames `is_stream_archived` function to `is_stream_archived_by_id`.
2025-08-05 13:41:08 -07:00
Kislay Verma
47905d7812 left_sidebar_navigation_area: Reduce the use of ??.
This fixes https://github.com/zulip/zulip/pull/35075#discussion_r2232052221.
Using an inline `??` seems to be the best choice.

Fixes part of #35494.
2025-08-05 13:38:41 -07:00
Karl Stolley
95dfb4aa41 rendered_markdown: Reduce space between paragraphs and nested lists. 2025-08-05 13:38:22 -07:00
Shubham Padia
3978106672 help: Use Zulip Cloud and self-hosting URLs instead of display_host.
We are porting the current help center docs to the new help center.
Porting the display_host variable to the new help center is a tricky
task and it is not worth to put in the effort for that just for 3 uses
of that variable.
2025-08-05 13:29:29 -07:00
Lauryn Menard
1e550d84b7 help-beta: Add icons to settings non-relative link template.
This makes the text for the organization and personal settings
options from the gear menu consistent with the relative link
type of NavigationSteps.
2025-08-05 13:29:07 -07:00