Commit Graph

9162 Commits

Author SHA1 Message Date
Maneesh Shukla
340b6adab4 topic-filter-input: Remove text-overflow property.
This commit removes the text-overflow property from input fields.
Chrome has a bug where truncation indicators in scrollable contenteditable
divs do not adjust when scrolling to the rightmost part of long text.
This behavior is related to https://issues.chromium.org/issues/41245282.
Firefox handles this correctly, but to ensure consistency, we will rely
on the default behavior of input fields, hiding overflowed text without
adding ellipses.

Fixes part of #35284.
2025-08-08 14:29:22 -07:00
Maneesh Shukla
6e43d34a34 topic-filter: Replace usage of search_pill.
Add topic_filter_pill to use for topic filtering instead of search_pill.

Fixes part of #35284.
2025-08-08 14:29:22 -07:00
Maneesh Shukla
15f2c65986 settings-preferences: Create left sidebar section.
This commit removes the following settings from the Settings/Preferences
Information section and adds a new section in the Settings/Preferences
called as Left Sidebar section:

- Show unread counts for
- Show unread count total on home view
- Show counts for starred messages
- Group channels by folder in the left sidebar
- Hide inactive channels

Fixes #35601.
2025-08-08 14:00:11 -07:00
Karl Stolley
8b059ec025 ui_util: Extract do_new_unread_animation for re-use. 2025-08-08 13:52:51 -07:00
Karl Stolley
4289cb67e5 left_sidebar: Change animation for new unread mentions.
Fixes #34473

Co-Authored-By: Aman Agrawal <amanagr@zulip.com>
2025-08-08 13:52:51 -07:00
Karl Stolley
d089c42c98 markdown: Reduce space when paragraphs precede lists. 2025-08-08 12:06:55 -07:00
Evy Kassirer
a644874e76 stream_list: Add folder ids to StreamListSection object.
Followup to
https://github.com/zulip/zulip/pull/35075#discussion_r2232041259
2025-08-08 12:05:05 -07:00
Evy Kassirer
8817284f7a channel_folders: Move unreads code from left_sidebar_navigation to stream_list. 2025-08-08 12:05:05 -07:00
Evy Kassirer
8a862f3933 stream_list: Use switch statement for stream list row type. 2025-08-08 12:05:05 -07:00
Evy Kassirer
8a9a3a1c74 channel_folders: Use a set for get_all_folder_ids.
Followup to
https://github.com/zulip/zulip/pull/35075#discussion_r2237294397
2025-08-08 12:05:05 -07:00
Shubham Padia
3e60b16ac1 starlight_help: Move help-beta over to starlight_help.
We are starting the cutover process and starlight_help is the directory
we have agreed on to place our new help center project. We do not want
to use `starlight_help` as the URL for the project, but this commit
changes the url from `help-beta` to `starlight_help` temporarily since
we can only change URL once we get rid of the current help center
project. That will be done in a future commit.
2025-08-08 11:59:29 -07:00
Evy Kassirer
fb49e5e420 left_sidebar: Make muted mention indicator more faded than unmuted. 2025-08-08 11:54:59 -07:00
Evy Kassirer
ee877ebbc5 left_sidebar: Let current_section_id_for_stream return undefined.
Fixes this issue from Sentry:
https://zulip.sentry.io/issues/6778533249/events/9e2a25e419bc4dc2b7a207c5a482f943/?project=4504556882821120
2025-08-07 18:29:42 -07:00
Maneesh Shukla
c9fd9ade11 buttons: Rename sticky-bottom-option to sticky-bottom-option-button.
Fixes part of #35006.
2025-08-07 18:21:39 -07:00
Maneesh Shukla
6815a65a18 buttons: Redesign sticky-bottom-option button.
This commit removes "button" and "rounded" class from the button and
add the required rules to the pre existing sticky-bottom-option class.

Fixes part of #35006.
2025-08-07 18:21:39 -07:00
Niloth P
7022811349 integrations: Add URL option and UI for mapping messages to Zulip channels.
This commit adds a "mapping" URL option preset that adds "Matching Zulip
channel" option to the stream dropdown widget. When that option is
chosen from the dropdown, it adds another parameter to the integration
URL -- "&mapping=channels".

This "mapping" parameter is meant to be used by integrations like Slack
to identify whether the user wants to map Slack channels to different
Zulip channels or different topics within a single channel.

This adds an icon for the `mapping`s' drop down option in the "Where to
send notification" drop down field.

Co-authored-by: Pieter CK <pieterceka123@gmail.com>
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-08-07 17:19:03 -07:00
PieterCK
57ff908af9 webhook_common: Add a method to build preset WebhookUrlOption.
This adds `WebhookUrlOption.build_preset_config` method which builds
pre-configured WebhookUrlOptions objects. It can be used to abstract
commonly used WebhookUrlOption settings or to construct special
settings that have additional logic and UI in the web-app modal for
generating an incoming webhook URL.

Currently, one such setting is the "branches" url option. This setting
is meant to be used by "versioncontrol" integrations such as GitHub,
Gitea, etc. It adds UI that lets the user to choose which branches of
their repository can trigger notifications. So, we refactor those
integrations to use `build_preset_config` for the "branches" option.

Co-authored-by: Lauryn Menard <lauryn@zulip.com>
2025-08-07 17:19:03 -07:00
Kislay Verma
f0a88d51cc message_reminders: Add support for notes.
This commit adds the ability for users to include notes
with their message reminders.

Fixes #35070.

Co-Authored-By: Aman Agrawal <amanagr@zulip.com>
2025-08-07 17:13:12 -07:00
Sahil Batra
52b21127e2 settings: Refactor class names for folder rows.
This commit removes unused classes in folder row elements
and updated used class names to use "-" instead of "_"
following the convention we follow usually.
2025-08-07 16:51:50 -07:00
Sahil Batra
21be0e58aa settings: Add code to live update "Channel folders" panel. 2025-08-07 16:51:50 -07:00
Prakhar Pratyush
f4f21bbbc6 onboarding: Fix focused to compose recipient box when modal is closed.
When a new user visits zulip for the first time:
* they are narrowed to DM with welcomer bot
* shown a navigation_tour_video in a modal

Earlier, when the modal was closed the compose recipient box
was focused instead of the compose textarea.

Reason:
`narrow_to_dm_with_welcome_bot_new_user` triggers a focus change from
(see `compose_actions.show_compose_box` with `opts.defer_focus = true`).

We start initializing this modal while the focus transition is in
progress, resulting in a flaky behaviour of the element that will
be in focus when modal is closed. Because the modal maintains the
focus position before and after toggling modal.

This commit fixes the issue by explicitly setting the focus to
ompose textarea when the modal is closed.
2025-08-07 09:28:24 -07:00
Sahil Batra
358f67a086 stream-list: Sort folder sections as per the folder order. 2025-08-06 18:58:15 -07:00
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
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
Karl Stolley
2fdf179d42 navbar: Redraw log-in icon with thinner stroke. 2025-08-06 10:16:55 -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
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
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