This commit makes changes to the edit message endpoint
to disallow resolving empty string topic.
It also removes the resolve topic button in the web client
from topic popover and message header for empty string topic.
This commit adds support to display `realm_empty_topic_display_name`
value in the 'compose textarea topic list typeahead' (which we show
while using '#**stream_name >' syntax) for topics having the actual
value of empty string.
This commit adds support to display `realm_empty_topic_display_name`
value as the compose reply button label for topics having the actual
value of empty string.
This commit adds support to display `realm_empty_topic_display_name`
value in the confirm_merge_topics_with_rename modal for topics having
the actual value of empty string.
Earlier, using empty string as topic name during inline topic edit
resulted in noop. It was processed as topic NOT changed.
Since empty string is a valid topic name now, this commit makes
changes to NOT process it as topic not changed.
Earlier, the new topic value entered during inline topic edit was
not trimmed before further processing resulting in bugs like:
* Confirm merge topic modal not shown when the new topic value
is another topic with extra space.
* For same topic name with an extra space, request was sent to
server and error displayed instead of just closing the inline
input box.
This commit makes sure to trim the input value to avoid those bugs.
When the actual topic name is empty string we show
`realm_empty_topic_display_name` value in the message header.
This commit makes changes to show `realm_empty_topic_display_name`
value as the placeholder instead of empty string when a user tries
to edit it via inline topic edit form.
This commit adds support to display `realm_empty_topic_display_name`
value in the 'move topic modal' heading for topics having the actual
value of empty string.
Also, in the new_topic_name input box we show a placeholder of
`realm_empty_topic_display_name` value when the actual topic value
is empty string.
In 666ce4519d, we switched to use
`this.href` instead of `e.currentTarget.getAttribute("href")`.
This bugged the behaviour since `this.href` includes the complete
URL including hostname.
Switched to use `this.hash` to fix it.
We update max_avatars on rerenders based on recent view width
to prevent participant avatars from overflowing their width.
We use resize event to update `--recent-view-max-avatars` which
is checked on `complete_rerender`.
This commit standardizes the naming convention to be used for the UI
components being used in the `/devtools/` storybook-like pages for
testing the UI components.
This commit adds the redesigned banner component to the codebase along
with a storybook-style page in /devtools/banners to view and test the
redesigned banner component.
Any banner using the new redesigned styles, requires two classes,
- First, the base `banner` class which defines the structure and
behavior of the banner.
- Second, a modifier class like `banner-info` which defines the styles
for the particular banner type.
The navbar alert banners also have a custom class `navbar-alert-banner`
which is used to define the specific style and structure for these
banner types.
This commit also makes the `banner`, `action-button` and `icon-button`
components into handlebar templates to maintain consistency in their
usage in the codebase.
The `line-height` and `padding` values are updated, to account for the
previous confusion of calculating these values for a 15px base value,
instead of the required 16px base font value.
The other changes in this commit include the `font-weight` and `gap`
properties, which are modified following the design discussion on CZO.
This commit replaces the use of `scale`, with `clip-path` for showing
the shrinking animation on the active state of action buttons. This
prevents the font and the icon from scaling with the element, which
removes the unwanted jitter during the animation.
The commit also makes necessary changes to the focus outline on the
buttons, to accommodate the use of clip-path and to improve the visuals.
This commit also adds the `transition` property to the action buttons
to smooth out the animations between the element states.
Clicking on subscribers count now opens subscribers tab.
The condition checking for .check and .subscription_settings
classes was redundant since .check is always present on
.stream-row elements. Simplified the click handler while
adding proper event handling with preventDefault() and
stopPropagation().
Fixes: #32035.
The deprecated `user` object was removed from message objects
and reaction events in #32701. This commit restores the `user` object
in reaction events to maintain compatibility with mobile clients.
Allow quoting "(deleted)" tombstone messages.
The previous logic for not allowing this wasn't internationalized,
and fundamentally can't be. But also, we don't see a reason
to forbid this -- it can be relevant to quote/reply something, say
to explain what the deleted message was.
We use user_groups.get_display_group_name consistently in
all the places where group name is showed, even when we
know that the UI won't display system groups to maintain
consistency.
There were two bugs that this commit fixed -
1) For system groups, the query was being matched with the actual
group name instead of display name.
2) Subgroup name was not converted to lower case before matching
it with query which is converted to lower case.
This commit adds a `handle_keyboard` method to the color picker popover
to enable the use of all the arrow keys along with their vim-key
counterparts for multi-directional keyboard navigation in the color
swatch grid.
This commit fixes the keyboard input for the custom color picker option
in the color picker popover, due to which previously a user wasn't able
to open the browser native color picker via the keyboard.
This commit adds a confirm button to the top right corner od the color
picker popover to provide a more intuitive way to exit the popover
after fiddling around with the stream color.
This commit center aligns the icon inside the icon-button across
different button sizes. This also sets the aspect-ratio of icon
buttons to 1:1, to constraint these buttons to a square shape.
We now allow renaming deactivated groups when user tries to create
a group with the same name as an existing deactivated group.
This commit also adds code to live-update the duplicate name error
on receiving group rename event.
Fixes#32876.
Previously, we only hided the error of already existing
archived stream on receiving event for a stream rename.
Now, we validate the stream name input on every stream
rename event.