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".
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.
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.
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.
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.
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.
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`.
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.
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
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.
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.
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.
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.
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 ``.
Fixes#27007
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.
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>
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.
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
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.
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.
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.
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.
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.