215 Commits

Author SHA1 Message Date
Shubham Padia
310a2323b6 subscriptions: Move raw svg for plus and check icons to zulip-icon.
Fixes #35899.

We don't make any visual changes to how the svgs/icons look, we just
move them to use the zulip-icon system.

We also replace use of the raw images of each in the help center and add
appropriate color for both in the help center.
2025-09-17 14:15:05 -07:00
Anders Kaseorg
40a022dcc3 zephyr: Remove Zephyr mirroring support.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-16 11:18:18 -07:00
Sahil Batra
683eca97a7 stream-settings: Replace "Not subscribed" tab with "Available".
This commit replaces "Not subscribed" tab in stream settings
with "Available" tab where only streams which the user can
subscribe to are shown.

Fixes #35919.
2025-09-16 11:16:06 -07:00
Anders Kaseorg
99481eb47c templates: Fix invalid <h4> inside <label>.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Anders Kaseorg
460d63c4dc templates: Fix invalid <th> inside <thead> (missing <tr>).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-09-10 09:57:56 -07:00
Maneesh Shukla
daa98c72d3 tooltips: Use stream ID instead of name for tooltip IDs.
Previously, tooltip templates were identified using the
stream's name in their `id` attributes.

This commit changes the tooltip IDs to use the stream's ID instead,
rather than its name, to ensure uniqueness and avoid potential conflicts.
2025-08-15 10:17:30 -07:00
Sahil Batra
0a8238b993 stream-settings: Live update visibility of folder dropdown.
An error was raised where we tried to live update the folder name
in folder dropdown even when there was no dropdown visible
to the non-admin user in settings page. This was because
"There are no channel folders configured in this organization."
text was shown even when a folder was recently created in the
realm as we did not live update the visibility of dropdown on
creating or archiving a folder.

This commit fixes the bug by live-updating the visibility
of folder dropdown when creating or archiving a folder.
2025-08-14 13:18:31 -07:00
Pratik Chanda
7b2a834336 stream_settings: Fix `realm_has_channel_folders not accessible in hbs.
This commit fixes the `realm_has_channel_folders` not accessible in
the stream settings template.
2025-08-12 10:19:37 -07:00
Pratik Chanda
9d773fe115 channel_settings: Hide channel folder setting for normal user.
Earlier, channel folder setting dropdown was showed even when there
were no channel folders created yet. This would end up showing an
empty list in dropdown.

This commit hides the setting for normal users if there are no channel
folders available in the org. It is replaced by a string section.

Fixes: zulip#35596.
2025-08-11 14:41:24 -07:00
Pratik Chanda
62a088c0d1 channel_settings: Add help link for channel folders dropdown.
This commit adds a help link to the channel folders dropdown setting
pointing to the relevant help doc.

Fixes part of zulip#35596.
2025-08-11 14:41:24 -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
e3c500cebe onboarding: Add highlighted-element class to <b> in onboarding modals.
This commit adds 'highlighted-element' class to <b> tags in
the following onboarding modals:
* introduce inbox view modal
* introduce recent conversations view modal
* introduce resolve topic modal
* introduce first channel created modal

'highlighted-element' class sets the 'font-weight: 600',
replacing the default of 700.
2025-08-04 18:25:49 -07:00
Sahil Batra
524442bf44 streams-ui: Add UI to update and archive channel folders.
This commit adds edit and delete buttons in the dropdown
list for folder.

Fixes #35498.
2025-08-04 13:22:11 -07:00
Maneesh Shukla
3651748d31 banners: Redesign stream info banner.
Fixes part of #34252.
2025-08-01 09:08:30 -07:00
Maneesh Shukla
a93a015b21 banners: Redesign organization upgrade banners.
This commit redesigns the upgrade and sponsorship banners by adding
AVAILABLE_ON_STANDARD, UPGRADE_ACCESS_BANNER, and
UPGRADE_OR_SPONSORSHIP_BANNER.

Fixes part of #34252.
2025-08-01 09:08:30 -07:00
Maneesh Shukla
deaa6390a8 banners: Redesign the permission banners.
Fixes part of #34252.
2025-08-01 09:08:30 -07:00
apoorvapendse
03f5242384 copy_email_modal: Avoid unnecessary raw HTML description.
The context passed in web/src/stream_edit.ts
never contains any HTML formatted string for
the description, so it is safe to replace
`{{{` with `{{`.

Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-28 12:56:44 -07:00
apoorvapendse
c6a64b3c1d stream_subscription: Use banner template to render messages.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-28 12:33:20 -07:00
Sahil Batra
c300775282 channel-folders: Enable channel folders UI in production. 2025-07-28 11:00:45 -07:00
Sahil Batra
34cb0034e1 settings: Handle long names better in susbcribers and members list.
This commit updates the subscribers and group members table CSS to
use fixed layout. This helps in having user pill take the width if
available and we can show more characters.

Previously the width of name in user pill was set to have a max
width of 165px which meant the there was some empty unused space in
the rows especially on narrow screens when email column was hidden.

Fixes #35157.
2025-07-25 11:21:23 -07:00
Tim Abbott
6036dc9812 subscribers: Use _html in content inserted as HTML.
This makes it easier for maintainers to verify that code using `{{{`
is already rendered HTML, intended for insertion into the DOM.
2025-07-18 18:24:57 -07:00
apoorvapendse
0908f0ac30 settings: Include ignored deactivated users in result banner.
This introduces the ignored deactivated user messages
in the channel and user group subscription banners.
Related:
https://chat.zulip.org/#narrow/channel/101-design/topic/New.20channel.2Fgroup.20UX.20changes/near/2215785

Fixes #34347.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-18 18:07:38 -07:00
Apoorva Pendse
eb6676f9b5 settings: Show a tick inside of add button on click.
We want the input field to retain
the same width even when
Add button shrinks, when we
show a check icon.

This solution involves layering
of the check and `Add` button
and toggling visibility.

Karl's coment: https://chat.zulip.org/#narrow/channel/6-frontend/topic/.2334347.20rework.20subscribe.20users.20confirmations/near/2206344.

Related: https://github.com/zulip/zulip/pull/34912#issuecomment-3010269391.

Reference:
https://chat.zulip.org/#narrow/channel/6-frontend/topic/.2334347.20rework.20subscribe.20users.20confirmations/with/2193352.
Co-authored-by: Rajeev Tapadia <108951750+rajeevtapadia@users.noreply.github.com>
Co-authored-by: Maneesh Shukla <shuklamaneesh24@gmail.com>
Co-authored-by: Karl Stolley <karl@zulip.com>
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-18 18:04:57 -07:00
Apoorva Pendse
f75fbdda8b channel_settings: Improve clarity of subscription result message.
The result message shown when adding members to a stream
previously listed the name of every member being added,
which could be noisy for large groups.

This commit updates stream_subscription_request_result.hbs to
conditionally display clearer, more concise messages based
on the number of subscribed and already subscribed users.

This improves readability and user experience when handling
large subscription actions.

Fixes part of #34347

Co-authored-by: Rajeev Tapadia <108951750+rajeevtapadia@users.noreply.github.com>
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-18 18:04:56 -07:00
apoorvapendse
e1a0385028 channel_settings: Move checkbox below the input field.
Prep commit for #34912.

Addresses: https://github.com/zulip/zulip/pull/34912#issuecomment-3013913429
(point 1)
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-18 18:04:56 -07:00
apoorvapendse
40a4666be8 channel_settings: Update add subscribers subtitle.
Addresses:
https://github.com/zulip/zulip/pull/34912#issuecomment-3013913429(point 2)

Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-18 18:04:56 -07:00
Vector73
97a43fa6b6 stream_settings: Add can_delete_own_message_group setting.
Adds per-channel `can_delete_own_message_group` setting for
defining who can delete their own message in the channel.
2025-07-17 15:44:52 -07:00
Vector73
c4e641365b stream_settings: Add can_delete_any_message_group setting.
Adds per-channel can_delete_any_message_group setting for
defining who can delete any message in the channel.
2025-07-17 15:44:42 -07:00
Maneesh Shukla
3bd8c28fca buttons: Redesign some old-style buttons with rounded class.
Fixes part of #35006.
2025-07-16 14:46:23 -07:00
Vector73
71342169ff stream_settings: Update organization default dropdown labels.
Updates labels for organization default options in "topics policy"
and "message retention policy" channel settings.

Fixes #35212.
2025-07-11 12:31:03 -07:00
Lauryn Menard
924c5409f9 channel-permissions: Fix URL for help center article.
This was missed when adding the redirect years ago.
2025-07-10 17:53:56 -07:00
Vector73
a77fc6aa79 stream_settings: Add new disable_topics option to topics_policy.
Adds new configuration option `disable_topics` in `topics_policy`
channel setting to support disabling topics in the channel.

Fixes #34553.
2025-07-09 14:25:53 -07:00
opmkumar
8786b12f0c streams: Add can_resolve_topics_group setting.
Fixes #19955.
2025-07-08 16:53:43 -07:00
Vector73
c46272f009 stream_types: Rename stream_types.hbs to stream_permissions.hbs. 2025-07-07 09:50:50 -07:00
Vector73
f65fdb7bef stream_settings: Reorganize settings in subsections.
This commit reorganizes channel settings in the "Advanced
configurations" section into four subsections.

Fixes #34837.
2025-07-07 09:50:50 -07:00
Vector73
b2bd4500ab stream_settings: Reorder settings in advanced configuration section. 2025-07-07 09:50:50 -07:00
Maneesh Shukla
ec60c8a70c x-buttons: Replace "Remove" and "Unsubscribe" buttons with x icons in tables.
This commit removes the "Remove" and "Unsubscribe" action buttons from
various tables and replaces them with icon buttons using the "close"
icon.

Additionally, previously the rows with and without a remove button had
different heights. This commit updates the fixed `px` values to `em`
units to ensure equal height for all rows, regardless of whether a
remove-subscription button is present.

Fixes: #34874.
2025-07-03 14:37:00 -07:00
evykassirer
236e595438 settings: Use grid and flex for the two-pane settings overlay.
Instead of changing the height of the button subheader depending
on the width of the modal, which was fiddly and error prone, we now
let grid determine the height of the button subheader, and determine
the height of the body through javascript resize calculations.
2025-07-03 11:22:31 -07:00
Maneesh Shukla
8ef51e1b6f tooltips: Fix incorrect tooltip on the spinner.
The "sub_unsub_status" spinner was inside the div with the "check" class
, causing the tooltip to appear over the spinner, which should only be
visible on the check icon.

This commit moves the "sub_unsub_status" spinner div outside, ensuring
the tooltip is now visible only when hovering over the check icon.
2025-07-01 14:16:31 -07:00
Kislay Verma
f448890158 channel: Add option to notify users newly added to a channel.
When a user is added to a channel, we send
the user that was added a Notification Bot
DMs to let them know about it.

In this commit, we add an option for whether or not
this message is sent.

If more than 100 users are added at once, we
do not send notification bot DMs since it would
be a performance-costly operation.

We also send this threshold value of 100 in the
initial state data to the clients.

Fixes part of #31189
2025-06-26 10:08:11 -07:00
Vector73
b612351e48 stream_setting: Add setting for who can move messages out of channel.
Adds `can_move_messages_out_of_channel_group` channel-level
permission for who can move messages out of the channel.

Fixes #34243.
2025-06-24 16:52:53 -07:00
Vector73
703601a5d5 stream_setting: Add setting for who can move messages within channel.
Adds `can_move_messages_within_channel_group` channel-level
permission for who can move messages within the channel.
2025-06-24 16:52:53 -07:00
Evy Kassirer
ec65dad063 stream_pill: Fetch all subscribers before getting user ids for a stream.
Work towards #34244.
2025-06-23 17:04:47 -07:00
Vector73
6094bbe8a5 stream_settings: Add new topics_policy setting.
Added `topics_policy` channel setting to configure sending
messages in the empty topic.

Fixes #33549.
2025-06-17 17:05:58 -07:00
Sahil Batra
1e67b1d23f settings: Do not show channel folder UI in production.
This commit hides channel folder widgets in production
till we are ready to launch this feature.
2025-06-10 11:51:58 -07:00
Sahil Batra
32287a084b channel-folders: Add UI to create new channel folder.
This commit adds a button besides the folder dropdowin in
stream settings UI which can be used to create a new folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
7c01e61e5a streams: Add UI to add or remove stream from a folder.
This commit adds UI to add a stream to a folder while
creating them and also for adding/removing an existing
stream from a folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
72e2605b98 stream-settings: Fix duplicate IDs.
"stream-advanced-configurations" was being used as ID for
advanced configurations section in both stream edit and
creation UI, which is not correct as ID should be unique.

This commit fixes it by removing the ID and instead using
class in selectors. Also, there was some unused CSS, as
we do not have dropdown widget buttons in advanced
configurations section, written using the duplicate ID so
removed that as well.
2025-05-20 10:40:19 -07:00
Sahil Batra
bc89d96893 stream-settings: Fix duplicate IDs.
This commit fixes the use of "stream_permission_settings"
as ID for "Channel permissions" subsection in both
stream edit and creation UI, which was not correct since
ID should be unique.

To fix this ID was removed from the element and following
changes are done -
- $("#stream_settings") element is now used as a container
for live update functions for stream edit UI.
- "stream-permissions" class is used to access the element
instead of ID.
- Advanced configurations container also had "stream-permissions"
class before, and that was removed in this commit so that
"Channel permissions" container can be identified uniquely
and thus some CSS changes were needed.
- Also, fixed "update_stream_privacy_choices" function to
not use ":visible" in selectors.
2025-05-20 10:40:19 -07:00
whilstsomebody
2780360b00 unarchive: Add support for unarchiving archived channels.
This commit adds support for unarchiving archived channels
by introducing the `is_archived` parameter to the
`PATCH /streams/{stream_id}` API endpoint. Sending a PATCH
request with `is_archived: false` will unarchive the specified
channel.
2025-05-16 11:39:40 -07:00