From fd73787192aba539e89a85cb7ad15a2ae4d4ee99 Mon Sep 17 00:00:00 2001 From: William Grant Date: Mon, 2 Oct 2023 10:26:20 +1100 Subject: [PATCH] feat: anyone in a group can change the setting before the v2 release --- .../disappearing-messages/OverlayDisappearingMessages.tsx | 8 +++++--- ts/state/selectors/selectedConversation.ts | 5 ++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx b/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx index 661080b99..5b84e45b2 100644 --- a/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx +++ b/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx @@ -103,6 +103,8 @@ export const OverlayDisappearingMessages = () => { const [timeSelected, setTimeSelected] = useState(expireTimer || 0); const timerOptions = useTimerOptionsByMode(modeSelected, hasOnlyOneMode); + const isV2Released = ReleasedFeatures.isDisappearMessageV2FeatureReleasedCached(); + const handleSetMode = async () => { if (hasOnlyOneMode) { if (selectedConversationKey && singleMode) { @@ -128,14 +130,14 @@ export const OverlayDisappearingMessages = () => { }; useEffect(() => { - if (!ReleasedFeatures.isDisappearMessageV2FeatureReleasedCached()) { + if (!isV2Released) { setModeSelected( expirationMode === 'deleteAfterRead' || expirationMode === 'deleteAfterSend' ? 'legacy' : expirationMode ); } - }, [expirationMode]); + }, [expirationMode, isV2Released]); useEffect(() => { // NOTE loads a time value from the conversation model or the default @@ -199,7 +201,7 @@ export const OverlayDisappearingMessages = () => { /> )} - {isGroup && !weAreAdmin && ( + {isGroup && isV2Released && !weAreAdmin && ( <> diff --git a/ts/state/selectors/selectedConversation.ts b/ts/state/selectors/selectedConversation.ts index 11008e6ba..49c977216 100644 --- a/ts/state/selectors/selectedConversation.ts +++ b/ts/state/selectors/selectedConversation.ts @@ -182,9 +182,7 @@ const getSelectedConversationExpirationModesWithLegacy = (convo: ReduxConversati // The new modes are disabled by default if (modes && modes.length > 1) { modes.forEach((mode: any) => { - modesWithDisabledState[mode] = Boolean( - (mode !== 'legacy' && mode !== 'off') || (isClosedGroup && !convo.weAreAdmin) - ); + modesWithDisabledState[mode] = Boolean(mode !== 'legacy' && mode !== 'off'); }); } @@ -213,6 +211,7 @@ export const getSelectedConversationExpirationModes = (state: StateType) => { modes = [modes[0], modes[2]]; } + // NOTE disabled = true const modesWithDisabledState: Record = {}; if (modes && modes.length > 1) { modes.forEach((mode: any) => {