From 2c16a8564b35d6c7afbe4598b7679ba6291b3285 Mon Sep 17 00:00:00 2001
From: trevor-signal <131492920+trevor-signal@users.noreply.github.com>
Date: Tue, 25 Aug 2026 14:45:32 -0400
Subject: [PATCH] Prefer explicit unmute option when conversation is muted
---
.../conversation/ConversationHeader.dom.tsx | 27 +++++++++++-----
...aneConversationListItemContextMenu.dom.tsx | 32 +++++++++++++------
2 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/ts/components/conversation/ConversationHeader.dom.tsx b/ts/components/conversation/ConversationHeader.dom.tsx
index 074de0752b..38a64a2d47 100644
--- a/ts/components/conversation/ConversationHeader.dom.tsx
+++ b/ts/components/conversation/ConversationHeader.dom.tsx
@@ -667,6 +667,7 @@ function HeaderDropdownMenuContent({
onViewConversationDetails: () => void;
}) {
const muteMenu = getConversationMuteMenu(conversation.muteExpiresAt, i18n);
+ const isMuted = isConversationMuted(conversation);
const isGroup = conversation.type === 'group';
const disableTimerChanges =
!conversation.canChangeTimer ||
@@ -701,6 +702,10 @@ function HeaderDropdownMenuContent({
[onChangeDisappearingMessages]
);
+ const onUnmute = useCallback(() => {
+ onChangeMuteExpiration(MuteExpiration.UNMUTED);
+ }, [onChangeMuteExpiration]);
+
if (isSelectMode) {
return null;
}
@@ -842,14 +847,20 @@ function HeaderDropdownMenuContent({
)}
-
+ {isMuted ? (
+
+ {i18n('icu:unmute')}
+
+ ) : (
+
+ )}
{!isGroup || hasGV2AdminEnabled ? (
{
+ return isConversationMuted(conversation);
+ }, [conversation]);
+
const [showConfirmDeleteDialog, setShowConfirmDeleteDialog] =
useState(false);
@@ -126,6 +130,10 @@ export const LeftPaneConversationListItemContextMenu: FC {
+ onUpdateMute(conversationId, MuteExpiration.UNMUTED);
+ }, [onUpdateMute, conversationId]);
+
const handleArchive = useCallback(() => {
onArchive(conversationId);
}, [onArchive, conversationId]);
@@ -184,14 +192,20 @@ export const LeftPaneConversationListItemContextMenu: FC
)}
-
+ {isMuted ? (
+
+ {i18n('icu:unmute')}
+
+ ) : (
+
+ )}
{!props.isActivelySearching &&
isSelectedChatFolderAllChats &&
props.currentChatFolders.hasAnyCurrentCustomChatFolders && (