On trying to restore a draft or a scheduled message in a
stream that is no longer accessible, compose box is opened
without selecting any stream with dropdown open.
Previously, it raised an AssertionError.
If there are scheduled messages in a stream that is no longer
accessible, just keep the stream name empty for the message in
the scheduled messages overlay. Previously, there was an
AssertionError when trying to open the scheduled messages
overlay and it was opened empty.
We replace the rewires with `peer_data.set_subscribers`.
This also adds the passed stream_id to the set
`fetched_stream_ids`, which allows us to eliminate the
mocking of `channel.ts` in the test file. The mock was
earlier required because of a call to
`peer_data.maybe_fetch_stream_subscribers` in
`compare_people_for_relevance`.
Fixes part of #32326.
As a follow-up to the previous commit, this commit improves the styling
of the custom user status picker input.
The changes in this commit adjust the styling of the input field towards
the new redesigned inputs while shying away from using the input
component to avoid the complexity involved in including the status
emoji selector in the input component.
This commit fixes the "trigger-click-on-enter" functionality to
correctly trigger a click event on the element that has the class
"trigger-click-on-enter". The "currentTarget" was incorrectly used,
which referred to the element that the event handler is bound to,
instead of the actual target of the event.
This commit improves the styling of the default user status options in
the status picker modal by adding hover, focus and active state styles
similar to that of the popover menu options.
Fixes#35005.
This commit fixes the asymmetric margin on banners by conditionally
rendering the action buttons only if buttons are present. Otherwise,
empty action buttons were being rendered in the DOM, applying the gap
property between the banner label and the empty action buttons.
Fixes: https://chat.zulip.org/#narrow/channel/9-issues/topic/asymmetric.20margin.20on.20banner.
The favicon should ideally change for self-hosted organizations if they
have configured it. We track the work for this in #35681 to look at
after the cutover.
The grouping logic in `do_delete_messages` calls
`message.is_stream_message()` in a loop, which needs to access
message.recipient. This is obviously super inefficient if .recipient
hasn't been prefetched for the message objects.
`delete_in_topic` is the only function that calls `do_delete_messages`
with many messages, so this is the only spot we need to fix, to address
the immediate bug.
Of course a better improvement would be to fix `do_delete_messages` to
do something smarter than naively accessing message.recipient in a loop.
This commit includes the following changes:
- Add an administrator setting to customize the Welcome Bot
message when sending an invitation.
- Add an API endpoint to test the customized Welcome Bot message
by sending a copy of the message to the administrator.
Fixes#27663.
Co-authored-by: Akarsh Jain <akarsh.jain.790@gmail.com>
This commit extracts the data returned by the
`get_common_invitation_data()` function in `web/src/invite.ts`
into a new type named `CommonInvitationData`.
Prep commit for #27663.