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 && (