This commit changes the behavior of the topic actions popover
(displayed from the left sidebar via the `...` menu) to no
longer appear for empty topics (topics with no messages).
Instead, a message is displayed: "There are no messages in
this topic.", along with the topic visibility options and
the name of the topic.
Fixes: #32098.
Forward message previously didn't open the recipient dropdown
when forwarding from the combined feed.
This commit will also make the messages keep their original
channel or pm-recipient when forwarding from combined feed, to
be consistent with the behavior in the rest of the app.
This commit fixes the code to add a check for whether the
setting is set to an anonymous group or not before checking
if the setting is set to "Nobody" group by checking the
group name.
This commit renames the 'queue_json_publish' function to
'queue_json_publish_rollback_unsafe' to reflect the fact that it doesn't
wait for the db transaction (within which it gets called, if any)
to commit and sends event irrespective of commit or rollback.
In most of the cases we don't want to send event in the case of
rollbacks, so the caller should be aware that calling the function
directly is rollback unsafe.
Fixes part of #30489.
Removes the unnecessary fields from bulk_access_users_by_email and
bulk_access_users_id, while also removing duplication of these lists
of fields.
"base_bulk_get_user_queryset", used when fetching a user
other than the acting user.
"base_get_user_queryset", used when fetching the acting user,
prefetching more fields.
There remains some inconsistency in the models.py functions that may
merit further investigation.
This, as well as increasing the spacing by 5px, ensures that the left
sidebar bottom elements aren't overlapped by URLs that the browser
shows in the corner when hovering links.
There is still some space from the browser scrollbar, and the
buddy list is no more to the right than the profile edit button
in the top right corner, so this shouldn't cause any issues.
Previously, when the message of the "with" operator can not be
accessed by the user, it used to return messages in combined feed
or stream feed.
This commit updates it to rather raise a BadNarrowOperatorError
if the message of "with" operand is not accessible to user, and the
narrow terms present can not define a conversation. However, if
the narrow terms can define a conversation, then the narrow falls
back to that of without the "with" operator.
This fixes a bug introduced in f40e1e9ad0
We changed the settings overlay container background color in that
commit, from hsl(0deg 0% 98%) to #ededed. #ededed is same as
hsl(0deg 0% 93%). The latter is the exact same color for stream and
group row active background. While we changed the settings overlay
background color, we did not change the active row color for stream and
group rows.
Fixes https://chat.zulip.org/#narrow/channel/9-issues/topic/Lack.20of.20highlighting.20of.20selected.20group.2E/near/1993630
This commit adds code to live update the membership status text
if subgroups of a group, either the active group or one of the
subgroup of active group.
Fixes#32485.
This commit adds code to live update the membership status text
when a user is added or removed from a group that is subgroup
of the group opened in the right panel of groups UI.
We now mention if user is member of the group in the "Members"
tab, also including the details about whether the user is direct
member or is member by being direct member of one of the subgroups.
Although, right now, the function only checks if a user is realm admin,
it will still be beneficial to use can_manage_default_streams for when we
might have granular permissions for that. I've used a decorator for
endpoints where this function was applicable, since that seemed nicer to
use compared to inserting a function in each of the endpoints.
The added test ensures that we get test coverage on the new decorator.
Forward message starts a new message with the quoted context
(message or selection).
The compose box opens with then channel picker open and no topic.
Also added documentation about this feature in the help center.
Fixes part 2 of #31953
'Quote message' is a more accurate decription, as this option inserts
the quoted text into whatever message you're composing or editing;
it does not necessarily start a new reply.
Fixes first part of #31953.
If the initial fetch for the narrow didn't return enough data for
the view to becomes scrollable, we should try to populate the narrow
with more messages.
Since `all_messages_data` is no longer the data for combined feed,
we need to treat combined feed like any other view and continue
fetching messages if required.
Also adds a condition to handle_member_edit_event to only update the
group checkmark when the current user id is part of the member ids
affected by the event.
Earlier, in 'handle_missedmessage_emails' codepath we were using
'queue_json_publish' which can lead to a situation where we enqueue
events but the transaction fails at a later stage.
Events should not be published until we know we're not rolling back.
This commit replaces
transaction.on_commit(lambda: queue_json_publish("deferred_work",event))
with
queue_event_on_commit("deferred_work", event)
This change utilizes the helper function queue_event_on_commit,
which abstracts the transaction.on_commit logic and improves
maintainability.