Commit Graph

9182 Commits

Author SHA1 Message Date
Evy Kassirer
2be9494f02 buddy_list: Skip collapsed section users during keyboard navigation.
Reported here:
https://chat.zulip.org/#narrow/channel/9-issues/topic/.F0.9F.8E.AF.20sidebar.20keyboard.20nav.20doesn't.20skip.20collapsed.20sections/near/2214081
2025-08-11 10:43:32 -07:00
Evy Kassirer
c456bf855d buddy_list: Collectively store user_ids and is_collapsed in section type. 2025-08-11 10:43:32 -07:00
Karl Stolley
66f942f1c4 compose: Preserve high-attention row on invalid DMs. 2025-08-11 10:36:21 -07:00
Karl Stolley
1cc453ee8e compose: Consider unpilled input in setting attention level. 2025-08-11 10:36:21 -07:00
Karl Stolley
8a217d8cc7 compose: No longer update attention on recipient change.
This is superfluous with attention being calculated on
focus and blur events.
2025-08-11 10:36:21 -07:00
Karl Stolley
aae826744e compose: Restore low-attention recipient row when narrow matches. 2025-08-11 10:36:21 -07:00
Maneesh Shukla
224fd3df6b banners: Fix asymmetric margin on banners.
This commit fixes the asymmetric margin on banners by conditionally
rendering the action buttons only if buttons are present. Otherwise,
empty action buttons were being rendered in the DOM, applying the gap
property between the banner label and the empty action buttons.

Fixes: https://chat.zulip.org/#narrow/channel/9-issues/topic/asymmetric.20margin.20on.20banner.
2025-08-11 10:28:57 -07:00
Evy Kassirer
259fd250ed stream_list: Update unread counts when building the sidebar.
This bug was introduced by 8817284f7a
which should have included this line.
2025-08-11 10:15:15 -07:00
Aman Agrawal
6d9b282b86 inbox: Match style of inbox view unread count folder to left sidebar. 2025-08-11 10:14:42 -07:00
Saubhagya Patel
bb5c87e306 bots: Add a setting to customize the Welcome Bot message.
This commit includes the following changes:
- Add an administrator setting to customize the Welcome Bot
message when sending an invitation.
- Add an API endpoint to test the customized Welcome Bot message
by sending a copy of the message to the administrator.

Fixes #27663.

Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
2025-08-08 18:59:37 -07:00
Saubhagya Patel
4cafe5f77c invite: Extract CommonInvitationData into a type.
This commit extracts the data returned by the
`get_common_invitation_data()` function in `web/src/invite.ts`
into a new type named `CommonInvitationData`.

Prep commit for #27663.
2025-08-08 18:59:37 -07:00
apoorvapendse
ab48666358 navbar: Use _html variables in template.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-08-08 18:58:06 -07:00
apoorvapendse
83cfff0ad0 empty_feed_notice: Use _html variables in template.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-08-08 18:58:06 -07:00
apoorvapendse
370e6765f8 dialog_widget: Use _html variables in template.
This is done to ensure that variables in HTML string format
which should not be escaped in templates, have a
consistent _html suffix.

The commits that follow do the same style of refactors
in other areas.

Discussion: https://chat.zulip.org/#narrow/channel/6-frontend/topic/Add.20linter.20rule.20to.20denote.20HTML.20string.20in.20template/near/2232128
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-08-08 18:58:06 -07:00
Tim Abbott
a0b8e916c5 channel_folders: Fix prettier issues in last commit. 2025-08-08 16:55:33 -07:00
Tim Abbott
40118c9a7c channel_folders: Sort get_channel_folders by order. 2025-08-08 16:43:17 -07:00
Sahil Batra
e7d9a8954c stream-settings: Sort folder options in dropdown by "order" field. 2025-08-08 16:29:02 -07:00
Sahil Batra
6e3be8d83c settings: Reset the order when re-ordering request fails. 2025-08-08 16:29:02 -07:00
Sahil Batra
f7e9f37edc settings: Fix re-ordering folders when there is an archived folder.
This commit updates webapp code to include archived folder IDs as
well in the "order" list passed when re-ordering folders.

Also, updated API documentation to mention that archived folder IDs
should also be included.
2025-08-08 16:29:00 -07:00
Sahil Batra
b746bb5fc1 settings: Show rendered markdown folder description.
This commit adds code to show markdown formatted description
in "Channel folders" panel instead of raw text.
2025-08-08 15:40:31 -07:00
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