feat: when v2 is released migration legacy convos

use the default mode and timer value for the convo type
pull/2971/head
William Grant 2 years ago
parent c4cc18ad2e
commit bea539e669

@ -12,6 +12,7 @@ import {
useSelectedExpireTimer,
useSelectedIsGroup,
useSelectedWeAreAdmin,
useSelectedIsNoteToSelf,
} from '../../../../../state/selectors/selectedConversation';
import {
DEFAULT_TIMER_OPTION,
@ -91,6 +92,7 @@ export const OverlayDisappearingMessages = () => {
: undefined;
const hasOnlyOneMode = Boolean(singleMode && singleMode.length > 0);
const isMe = useSelectedIsNoteToSelf();
const isGroup = useSelectedIsGroup();
const expirationMode = useSelectedConversationDisappearingMode();
const expireTimer = useSelectedExpireTimer();
@ -139,6 +141,32 @@ export const OverlayDisappearingMessages = () => {
}
}, [expirationMode, isV2Released]);
// TODO legacy messages support will be removed in a future release
useEffect(() => {
if (isV2Released && modeSelected === 'legacy') {
const newModeSelected = isMe || isGroup ? 'deleteAfterSend' : 'deleteAfterRead';
const newTimeSelected = loadDefaultTimeValue(newModeSelected, hasOnlyOneMode);
if (selectedConversationKey) {
void setDisappearingMessagesByConvoId(
selectedConversationKey,
newModeSelected,
newTimeSelected
);
dispatch(closeRightPanel());
dispatch(resetRightOverlayMode());
}
}
}, [
dispatch,
hasOnlyOneMode,
isGroup,
isMe,
isV2Released,
modeSelected,
selectedConversationKey,
]);
useEffect(() => {
// NOTE loads a time value from the conversation model or the default
handleSetTime(

Loading…
Cancel
Save