Commit Graph

8873 Commits

Author SHA1 Message Date
Vector73
4e93607fde tooltip: Show only empty topic allowed tooltip on the topic text.
This commit shows "Only general chat allowed in this channel" tooltip
close to the topic text instead of in the center of topic input by updating
the topic input box "max-width" to "fit-content".
2025-07-15 10:10:02 -07:00
apoorvapendse
b8a1a224d5 copy_messages: Prevent blueslip error while copying overlay message header.
Fixes: https://github.com/zulip/zulip/pull/35097#issuecomment-3058834909
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-15 09:22:54 -07:00
Pratik Chanda
421b6e9787 hotkey: Add topic filter focus check in is_in_focus.
This commit adds a topic filter focus check inside `is_in_focus`
which prevents shifting focus from topic filter input to topic list
when typing.
2025-07-15 09:13:57 -07:00
Sayam Samal
7a26c41c42 inputs: Remove JS logic to determine empty/non-empty input fields.
This commit removes the JavaScript logic that was used to determine
whether an input field was empty or non-empty. The CSS pseudo-classes
and selectors seem robust enough to handle the styling based on the
input state without needing additional JS logic at the moment, and
removing this JS logic simplifies the codebase and prevents potential
conflicts with the CSS styles.
2025-07-14 13:58:02 -07:00
Sayam Samal
4341453568 left_sidebar: Improve logic to detect empty filter input with pills.
This commit refines the logic for determining when the filter input with
pills is empty. The JS logic is removed from web/src/topic_list.ts,
as this new logic is now handled in the CSS, common across all filter
inputs with pills — resulting in a consistent and predictable behavior
for empty states on all the new filter inputs.
2025-07-14 13:58:02 -07:00
Sayam Samal
ac27299cc9 left_sidebar: Fix filter input alignment with common left sidebar grid.
This commit adjusts the left and right padding of the input element in
the filter topics input to account for the left and right borders.
This ensures that the text inside the input is aligned with the text in
other elements of the left sidebar grid.
2025-07-14 13:58:02 -07:00
Sayam Samal
c90190bcdb left_sidebar: Make icon column width scale with font size. 2025-07-14 13:58:02 -07:00
Sayam Samal
8b236e6f29 left_sidebar: Stretch filter inputs to fill available space on right. 2025-07-14 13:58:02 -07:00
Sayam Samal
5e92a57adb inputs: Fix input color values deviating from the design.
This follow-up commit fixes the incorrect input color values that were
introduced in the initial commit. This change is most visible in the
'hover' state where the values were incorrectly set to the same values
as that of the normal state, leading to a lack of visual distinction.
2025-07-14 13:58:02 -07:00
Sayam Samal
f3fc26c6ff left_sidebar: Standardize topic list filter input.
This follow-up commit replaces the current left sidebar topic list
filter input implementation with the redesigned input_wrapper
component.

This commit also serves as the base for supporting inputs using the
search_pill_widget, and thus adjusts the previously defined logic at
certain places to ensure that the input pills are handled and
displayed accurately.

Fixes part of #34476.
2025-07-14 13:58:02 -07:00
Sayam Samal
a4dd8e515d input_pill: Move input pill styles to app_variables.css.
This prep commit consolidates the input pill styles into
`app_variables.css` and uses the light-dark notation for the color
variables to avoid specificity issues that arose from `dark_theme.css`.
2025-07-14 13:58:02 -07:00
Sayam Samal
f4ec5f9741 topic_list: Fix and improve selectors related to the topic list filter. 2025-07-14 13:58:02 -07:00
Sayam Samal
1c58dcddfa compose: Fix buggy tooltip hotkey hint placement in compose send button.
This commit eliminates a bug, introduced in commit
7bc04bb829, where the send button's
tooltip hotkey hint would have incorrect placement when the user had
triggered a tippy instance on the send button while it was disabled.

The reason behind this bug was the conflict between code in the
previously mentioned commit which set the tooltip content to
`display: block` to account for the inline italicized empty topic name
in the error message, and the need for `display: flex` to ensure the
hotkey hint was positioned correctly.
2025-07-14 11:36:19 -07:00
Vector73
3fecbe41c5 compose_recipient: Fix fade when narrowing to empty topic only channel.
Some checks failed
Check feature level updated / check-feature-level-updated (push) Has been cancelled
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
Previously, narrowing to empty topic only channel keeps message list
faded even if the compose recipient to set to that channel. This commit
fixes this bug.
2025-07-11 16:00:11 -07:00
Vector73
741b38ecfa sidebar: Show "New message" tooltip for empty topic only channel.
Show "New message" tooltip for empty topic only channel instead
of "New topic" in left channel sidebar row.
2025-07-11 16:00:11 -07:00
Karl Stolley
77cd886e24 settings_overlay: Remove the settings-section show class on close. 2025-07-11 15:50:12 -07:00
Pratik Chanda
de18ff348c search_suggestion: Omit operand in pill for autocomplete suggestion.
Currently, topic autocomplete suggestion adds a `general chat` operand
value to the pill in suggestion dropdown description.

This is correct if we've already picked a topic operator and have ""
as the current suggested topic value, but is wrong for the state where
we haven't yet.
2025-07-11 14:00:07 -07:00
Pratik Chanda
1c86238f4f search_suggestion: Change description_html for channel op suggestion.
Currently we suggest same description_html for channel operator
suggestion and channel operator,operand suggestion. When we
don't suggest any channel name for channel operator we should show
different description_html.

This commit corrects this behaviour.
2025-07-11 14:00:07 -07:00
Pratik Chanda
a12a6905c4 css: Remove extra column space for pills in suggestion.
This commit removes extra column space added to pills in suggestion
which is normally there for exit button. We don't have exit buttons
in suggestions so we remove this.
2025-07-11 14:00:07 -07:00
Rohan Gudimetla
26abfc4d91 markdown: Render inline audio files using the ![title](url) syntax.
Previouly, there was no option to play the inline audio files
within the web app without downloading or leaving the browser.

This commit adds option to render inline audio files that use
the syntax `![title](url)`.

Fixes #27007
2025-07-11 13:11:56 -07:00
Tim Abbott
cdeb7f137f compose_state: Strip leading newlines to match server.
This fixes a bug where if you send a message with leading newlines,
you can't edit it until you've reloaded the browser.
2025-07-11 13:06:32 -07:00
Vector73
babf54d2f6 stream_popover: Rename update_topic_input_placeholder_visibility.
Renames `update_topic_input_placeholder_visibility` to
`update_topic_input_placeholder` as it seems more appropriate after
refactoring.
2025-07-11 12:35:05 -07:00
Vector73
49a516a3db stream_popover: Refactor updation of topic input placeholder. 2025-07-11 12:35:05 -07:00
Sahil Batra
e633ba5c71 settings-ui: Align items to center in stream and group rows.
This commit updates CSS to use flex layout to correctly
align items in stream and group rows to center and avoid
using top margins.
2025-07-11 12:33:45 -07:00
Sahil Batra
e79218692f settings-ui: Use relative sizes for stream and group rows.
This commit updates CSS to use relative width and height of
icons, margins and paddings for stream and group rows in
left panel.
2025-07-11 12:33:45 -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
whilstsomebody
bbc842484f modal: Add options for marking messages as read.
We have updated our read messages confirmation modal
to now offer three options for marking messages as read:

- Muted topic messages
- Messages from topics I don't follow
- All unread messages

Additionally, the modal now displays the count of unread
messages for the selected option.

Fixes: #30025.
2025-07-10 17:57:25 -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
Maneesh Shukla
0eea85446b tooltips: Group tooltips for a smooth transition.
This commit introduces the use of createSingleton from the Tippy.js
library to group the tooltips of compose box formatting buttons. The
main benefit is that the hover delay only applies when you move the
cursor into the group for the first time — after that, tooltips show up
instantly as you move between buttons. It makes the whole experience
feel a lot smoother.

We store the singleton instance in a variable to avoid creating multiple
instances unnecessarily. Before initializing a new singleton, we destroy
the previous one to prevent memory leaks and ensure correct behavior.

Previously, each formatting button had its own independent tooltip with
separate delays, which made the experience feel sluggish and disjointed
when hovering across buttons.

Now, by sharing a delay timer across the grouped tooltips, the
transition feels more natural.

Fixes: #24825.

Co-authored-by: Sayam Samal <sayam@zulip.com>
2025-07-10 17:20:41 -07:00
Maneesh Shukla
48d2ee2684 compose-buttons: Add compose_button_tooltip class to all the control buttons.
This is a prep commit to add singleton tooltips to all the
compose control buttons.

Fixes part of #24825.
2025-07-10 17:06:02 -07:00
Pratik Chanda
83d67ddb6a settings: Remove unreachable click handler for settings.
This commit removes click handler for settings overlay container
for closing modals over settings which was added for earlier modal
version. Current modal doesn't use this handler to close modal.
2025-07-10 17:03:17 -07:00
Tim Abbott
464821afca overlay_ui: Avoid treating range selection as a click. 2025-07-10 13:17:13 -07:00
apoorvapendse
9ddc2dddc3 scheduled_messages: Restore message on clicking header.
Fixes:
https://chat.zulip.org/#narrow/channel/101-design/topic/message.20header.20bar.20interactions.20in.20overlays/with/2205866.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-10 13:17:13 -07:00
apoorvapendse
cf3e94758e drafts: Restore draft on clicking message header.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-07-10 13:17:13 -07:00
Tim Abbott
b298f18071 stream_popover: Don't advertise useless views for general chat channels.
These views can only ever show the on topic, so we shouldn't spend
space advertising them.
2025-07-10 12:34:02 -07:00
Tim Abbott
ece761130c settings_config: Update general chat option strings.
- Avoid a capitalization issue in English with the first word being
  "general chat".
- Replace unclear "Automatic" option name.
- Use curly quotes.
2025-07-10 12:34:02 -07:00
whilstsomebody
82077b6328 message_row: Correctly align bot icon in message area.
The bot icon in the message area is center-aligned,
but due to its shape, it appears slightly misaligned
with the bot name text.

This commit fixes the by adding a 1px bottom margin.

Fixes: #32992
2025-07-10 12:22:34 -07:00
Aman Agrawal
9b15dce1b2 auth: Only automatically redirect for same domain redirects.
If the `deactivated_redirect` belongs to the same domain as
`EXTERNAL_HOST`, automatically redirect, otherwise just point
user to the new URL.
2025-07-10 10:46:59 -07:00
Sahil Batra
ba32e732c7 stream_create: Fix folder widget not defined in prod.
We do not create folder widget in production as of now, so
we need to make sure that folder_widget.render is not called
when opening stream creation UI in production as folder_widget
is undefined.

It opens fine but code handling closing of overlay is not
called as expected and the hash is not changed even after
closing the overlay which resulted in problems when opening
the channel settings overlay again.
2025-07-10 10:23:39 -07:00
Karl Stolley
fd67852085 inbox: Update reply-button label via show(). 2025-07-10 08:36:52 -07:00
Karl Stolley
ac0cc78327 compose: Size and place formatting icons to spec.
Note that this establishes a 30px by 30px box at
Vlad's original font-size, 15px. His spec called for
a 30px by 28px box, but does not reflect the height of
the Send button, which is 30px tall. So to maintain
that height and perfectly center the icons, we create
a 30px square for the button.
2025-07-10 08:29:48 -07:00
Karl Stolley
02528992a2 compose: Remove dead flex directive.
The grouping element in the DOM, .compose_control_button_container,
is not a flexbox, so this directive is ignored by browsers.
2025-07-10 08:29:48 -07:00
Vector73
c3e8b48245 settings: Fix tooltip not shown when message retention policy invalid.
Previously, the tooltip was not shown on save button when message
retention policy is invalid in channel settings. This commit fixes that bug.
2025-07-09 14:25:53 -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
Vector73
7b60b2edca stream_popover: Show clear button if topic input is not disabled.
Previously, if the topic input was disabled when "Move messages"
modal was opened, the clear button was not added to the DOM
which caused the bug where the clear button was not shown even
if the topic input was later enabled because user was allowed to edit
topics in the selected channel.
2025-07-09 14:25:53 -07:00
Vector73
3b4f55a7ea stream_popover: Refactor topic input focus/blur handlers into functions. 2025-07-09 14:25:53 -07:00
Vector73
82d76465ab stream_popover: Filter out channels where moves are not possible.
Users who don't have permission to edit topics cannot move messages
from empty topic to the channel where empty topics are not allowed.
So, those channels should not be shown in the channel selector in the
"Move messages" modal.
2025-07-09 14:25:53 -07:00
Vector73
09b4a4c6e4 stream_list: Remove redundant condition block to get topic list URL. 2025-07-09 14:25:53 -07:00
Tim Abbott
911fca7f80 recipient_row: Fix data-topic-name for general chat.
Since we know it's a topic header, we don't need a conditional
here. And the one we'd had didn't distinguish `undefined` from `""`,
and thus broke these controls for general chat.
2025-07-09 14:25:53 -07:00
Karl Stolley
d1a66c4faa alerts: Restore alert-success colors. 2025-07-09 14:04:52 -07:00