Commit Graph

9548 Commits

Author SHA1 Message Date
Sahil Batra
c58ae7f4f0 user-profile: Update header edit icon for admin's own profile.
For admin users, clicking on pencil edit icon in the profile
modal header opens the "Manage user" tab.

For non-admins, "Profile" settings panel is opened as before.

Fixes part of #34830.

Co-Authored-by: Aman Vishwakarma <vishwakarmarambhawan572@gmail.com>
2025-10-20 16:40:01 -07:00
whilstsomebody
9813f11abf user_profile: Show manage profile tab for admin's own profile.
Previouly admins did not see "Manage user" tab in their own
profile modal. This commit updates it to show the "Manage user"
tab to admins in their own profile modal as well.

Fixes part of #34830.
2025-10-20 16:40:01 -07:00
whilstsomebody
30c6b35b95 custom_profile_fields: Refactor code for handling date type fields.
The currrent behavior is to auto-save field immediately on changing
the value only in "Profile" settings panel but not in "Manage user"
modal where we save the changes only after clicking "Save changes"
button.

To enable this behavior we checked if the date type field is being
changed for user's own account or for other user. But now we will
show "Manage user" modal in user's own profile as well so to enable
the above mentioned behavior we now use for_profile_settings_panel
boolean field.
2025-10-20 16:40:01 -07:00
Sahil Batra
feaaf9ff03 drodpown: Do not use fa-ban icon for disabled option. 2025-10-20 16:30:06 -07:00
Sahil Batra
60074db0ed dropdown-widget: Remove left padding for icons.
This commit removes left padding for the stream privacy
and disabled icon in dropdown widgets. There is already
a padding in grid container and we are fine with removing
the 2px padding to avoid maintaining more pixel values.
2025-10-20 16:30:06 -07:00
Sahil Batra
46f338f54f dropdown-widget: Fix alignment of disabled option.
The alignment of icon and text of the disabled option in
dropdown widget was somewhow broken due to an extra span
element present which broke the grid layout used for
rendering the icon and text properly.

This also makes the layout consistent with other options
shown with icon.

This was due to e643d7e6fd which resulted in space
between icon and text. We could have fix that by using
"~" character to remove whitespace in handlebar templates
but making the layout consistent felt a better choice.
2025-10-20 16:30:06 -07:00
Pratik Chanda
81ca9e1b36 message_list: Hide group DMs where everyone is muted.
This commit hides group DMs where all recipients are muted from
different views.

Fixes: zulip#34886.

Co-authored-by: Aman Agrawal <amanagr@zulip.com>
2025-10-20 15:42:15 -07:00
Lauryn Menard
6b6a02f932 demo-orgs: Fix configure email banner action button on modals.
Fixes the action button on the configure email banner that appears
before a demo organization owner has added an email address on the
invite user and convert demo organization modals.

Adds the banner-wrapper class so that the general CSS rules for
banners are applied.

Removes the extra padding on the button as it does not appear to
be necessary any longer as the font and line height for the banner
label and action buttons is now the same.
2025-10-20 11:29:05 -07:00
Aman Agrawal
d1cedb7f1d inbox: Fix collapsed note missing user only has unread DMs.
When there are only unread DMs and it is collapsed, the all rows
collapsed not is not shown.

This occurred since we didn't check for that.
2025-10-19 17:40:27 -07:00
Alex Vandiver
52ba675a26 Revert "compose: Track when the recipient box has recently had focus."
This reverts commits 5ce956c9bb and
14c51bd0ec, which broke the compose box
in channels with "only general chat" set.
2025-10-16 19:02:15 +00:00
Lauryn Menard
5d7adcbc00 typing: Use people.emails_string_to_user_ids for "dm" narrow term.
Updates the logic for getting the typists for a specific direct
message conversation to mirror narrow_state.set_compose_defaults
for the current filter's "dm" narrow term.
2025-10-14 12:19:53 -07:00
Aman Agrawal
9ffe31e352 message_list_view: Fix missing bookend when prepending messages.
The logic for inserting bookend when prepending messages was
missing.

Fixed by inserting the bookend at the correct position.

Reproducer:

Modify `message_fetch` parameters to only fetch
one message per fetch to ensure that each message is prepended.

Subscribe to a channel and send a message.

Reload.

Bookend is absent before the latest message without this commit.
2025-10-14 11:52:36 -07:00
Lauryn Menard
69a8ec3ae9 create-realm: Remove margin-top rules for new-organization-button.
The top margin for the submit button on `create_realm.html` is
set by the '#new-realm-creation .register-button' rule in
`portico_signin.css`.

Removes the redundant margin-top rules for new-organization-button
class that are not used.
2025-10-13 10:08:14 -07:00
Lauryn Menard
e98cf5819c create-realm: Remove CSS rule for 'input.new-organization-button'.
In commit 7afbc9d, the button to create a new organization in
`templates/zerver/create_realm.html` was changed from an input
element to a button element.

Removes CSS rule that's been unused since that change.
2025-10-13 10:08:14 -07:00
Aman Agrawal
83719cd5be inbox_ui: Allow muting topics without using message object.
Since muting topics doesn't require a complete message, we can
mute topics with the information we have.
2025-10-10 09:57:23 -07:00
Aman Agrawal
97452ea4f8 hotkey: Fix wrong assumption of message_lists.current is defined.
Since we are checking `is_in_focus()` of recent and inbox view,
message_lists.current can be not defined here, also addition
a new view in Zulip will make this fail.
2025-10-10 09:57:23 -07:00
Evy Kassirer
ab8f6891d6 popovers: Fix name for sidebar channel folders popover. 2025-10-10 09:46:44 -07:00
Evy Kassirer
38e7f11259 hotkey: Specify reactions toggle to message controls.
Sometimes this selector was catching a second
`emoji-message-control-button-container` from an emoji reaction,
which was only caught once we started using `util.the`. This
change avoids catching that irrelevant element.
2025-10-10 09:45:06 -07:00
Anders Kaseorg
898b544ba4 message_store: Update ProcessedMessage type in reify_message_id.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-10 09:42:07 -07:00
Shubham Padia
66466760a0 css: Move out --box-shadow-overlay out of dark_theme.css.
Fixes #35881.
2025-10-08 23:35:46 -07:00
Shubham Padia
d9b7d8d2a6 overlay: Make sure all overlays have the same box shadow in dark mode.
Drafts, scheduled messages and message edit history had different
box-shadow done in #25771. The main reason for the different color was
for these overlays with the new background colors to play nice with the
then message/sidebar sections using the old background colors. Since
there is no such difference anymore, we can have one box-shadow for all
overlays.
2025-10-08 23:35:46 -07:00
Evy Kassirer
b7cf928615 scheduled_messages: Force save drafts of any length when scheduling.
Previously, if you wrote a two character message and attempted to
schedule it, there would be an assertion error on the draft_id
because we don't allow saving drafts with messages less than two
characters without force_save=true.
2025-10-08 17:06:12 -07:00
Lauryn Menard
5b5292d138 templates: Remove unnecessary "margin" class from register template.
Removes the instances of the "margin" class from register.html and
the portico CSS rule. Doing so does not result in any visible
changes in the only place it was being applied the terms of service
checkbox on the page.
2025-10-08 17:05:28 -07:00
Shubham Padia
7bce6361b3 css: Do not use non-color values inside light-dark().
Non-color values are not permitted inside light-dark(). This commit
fixes that for --color-invalid-input-box-shadow.
2025-10-08 15:04:41 -07:00
Anders Kaseorg
800cfc4421 emoji_names: Rebuild with emoji-datasource 16.0.0.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
9ac9dbdc1c dependencies: Upgrade JavaScript dependencies.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
9372b47d04 eslint: Fix unicorn/prefer-dom-node-dataset.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Anders Kaseorg
910718ccd3 eslint: Fix unicorn/no-array-sort.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-07 22:42:50 -07:00
Shubham Padia
9b1b52ec8a settings: Rename grey-box to settings-highlight-box.
Having the class named after a color limited to things we can do with
the class + does not signify what the class is for in terms of it's use.

Name decided at
https://chat.zulip.org/#narrow/channel/101-design/topic/grey-box.20dark.20theme.20color.2E/near/2272404
2025-10-07 09:26:51 -07:00
Shubham Padia
da0fa1349c css: Use --color-background-modal-bar for .grey-box.
Before 567e8f369e, the background-color
for .grey-box was --color-background-modal-bar, but the dark part out of
the light-dark() for that color was being overriden by
hsl(0deg 0% 0% / 20%) in dark_theme.css. Since that was a refactor PR,
we added a new color called --color-background-grey-box to keep the
behaviour same as before.

But discussion in
https://chat.zulip.org/#narrow/channel/101-design/topic/grey-box.20dark.20theme.20color.2E
confirmed that we want to have `--color-background-modal-bar` as the
background color for that class.
2025-10-07 09:26:51 -07:00
Shubham Padia
44d1343158 css: Remove redundant border-color for message rows.
The dark component out of the light-dark() of
--color-message-list-border is hsl(0deg 0% 0% / 40%), which is the same
as the color we specify in dark_theme.css.

- .recipient_row already uses the above variable, so it's entry is not
  needed in dark_theme.css
- .message_row uses the same variable as well.
- .overlay-message-row does not have a direct border. Although
  .message_row nested inside it does. It already uses the above
  variable, so we can remove this entry as well.
2025-10-06 17:44:11 -07:00
Shubham Padia
f6d972048b css: Remove redundant border related css for .preview_message_area.
We removed the border declaration in #29953. We do not need the
border-radius anymore, nor the border-color declaration in
dark_theme.css.
2025-10-06 17:44:11 -07:00
Shubham Padia
de2126d240 subscriptions: Use light-dark() instead of dark_theme.css for stream-row.
Fixes part of #35881.

We extract out relevant colors from dark_theme.css for .stream-row and
.group-row and place them in light-dark(). We also transform all these
colors for .group-row and .stream-row into variables.

We use the alpha value for hsl() colors as a stand-in for the opacity we
were defining in dark_theme.css.
2025-10-06 17:44:11 -07:00
Shubham Padia
567e8f369e css: Move out background-color hsl(0deg 0% 0% / 20%) out of dark_theme.
Fixes part of #35881.
2025-10-06 17:44:05 -07:00
Shubham Padia
c96caded1f subscriptions: Use existing variable for .subscriber-list-box.
Fixes part of #35881.

Instead of having all the rules in the dark_theme.css, we use the
existing variable which uses `light-dark()`.

We also create a new variable color-border-settings-radio-input-parent,
since the existing variable was not created for that radio input and
they should be allowed to change independently.
2025-10-06 17:44:00 -07:00
Shubham Padia
ee298be34b subscriptions: Replace svg with .sub-unsub-icon in dark_theme.css.
We missed doing so in #36047.
2025-10-06 17:43:23 -07:00
Evy Kassirer
9d532baa94 pill_input: Use flex-grow 1 on all input pills.
This extends existing styling for pills for search and org permissions,
to fix a bug in the invite users modal. Continues work in #34371, which
tested other input elements.

Fixes bug reported here:
https://chat.zulip.org/#narrow/channel/9-issues/topic/pasting.20invite.20email.20addresses
2025-10-06 17:32:58 -07:00
Karl Stolley
5ce956c9bb compose: Clear recipient-focused timeout before setting another. 2025-10-06 16:41:09 -07:00
Prakhar Pratyush
7a96ca2412 onboarding_steps: Retry with backoff when marking a step as read fails.
Earlier, transient errors while marking an onboarding step as read
resulted in blueslip reporting - which is not required.

This commit updates the logic to retry with backoff in case of error.

Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
2025-10-06 12:18:57 -07:00
Evy Kassirer
ce56be02bc hotkey: Convert module to typescript. 2025-10-06 11:01:01 -07:00
Evy Kassirer
7c90d2cee5 compose_setup: Convert module to typescript. 2025-10-03 18:21:16 -07:00
Evy Kassirer
02f1a624f7 filter: Standardize type of has_topic's stream_id. 2025-10-03 18:21:16 -07:00
Sayam Samal
a8387a6487 dark_theme: Clean up input styles in dark_theme.css.
Fixes part of #35135.
2025-10-03 18:18:27 -07:00
Karl Stolley
31e5e8f636 left_sidebar: Remove open-menu outline on zoomed channel. 2025-10-03 16:59:46 -07:00
Karl Stolley
f82a1f3002 left_sidebar: Correct filter backgrounds on active-filter zoom. 2025-10-03 16:59:46 -07:00
Karl Stolley
d61e86faff left_sidebar: Clarify and correct active-filter hover backgrounds. 2025-10-03 16:59:46 -07:00
Karl Stolley
1b164c680e left_sidebar: Clarify hover backgrounds on active filters. 2025-10-03 16:59:46 -07:00
Karl Stolley
3b4c5abd82 left_sidebar: Specify app background color on checkmark. 2025-10-03 16:59:46 -07:00
Karl Stolley
00e437caa7 sidebars: Remove unnecessary opaque color variant.
There is no longer any opacity in the
--color-background-hover-narrow-filter, so the opaque
variant just adds noise and the potential for drift
from the original color.
2025-10-03 16:59:46 -07:00
Karl Stolley
023fd27bcb left_sidebar: Remove unnecessary dark-mode color. 2025-10-03 16:59:46 -07:00