diff --git a/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx b/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx index 69fc9a6d4..a7191d24e 100644 --- a/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx +++ b/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import { DisappearingMessageConversationType } from '../../../../../util/expiringMessages'; +import { DisappearingMessageConversationModeType } from '../../../../../util/expiringMessages'; import { PanelButtonGroup, PanelLabel } from '../../../../buttons/PanelButton'; import { PanelRadioButton } from '../../../../buttons/PanelRadioButton'; -function loadDataTestId(mode: DisappearingMessageConversationType) { +function loadDataTestId(mode: DisappearingMessageConversationModeType) { const dataTestId = 'disappear-%-option'; switch (mode) { case 'legacy': @@ -19,9 +19,9 @@ function loadDataTestId(mode: DisappearingMessageConversationType) { } type DisappearingModesProps = { - options: Record; - selected?: DisappearingMessageConversationType; - setSelected: (value: DisappearingMessageConversationType) => void; + options: Record; + selected?: DisappearingMessageConversationModeType; + setSelected: (value: DisappearingMessageConversationModeType) => void; hasOnlyOneMode?: boolean; }; @@ -63,11 +63,11 @@ export const DisappearingModes = (props: DisappearingModesProps) => { value={mode} isSelected={selected === mode} onSelect={() => { - setSelected(mode as DisappearingMessageConversationType); + setSelected(mode as DisappearingMessageConversationModeType); }} - disabled={options[mode as DisappearingMessageConversationType]} + disabled={options[mode as DisappearingMessageConversationModeType]} noBackgroundColor={true} - dataTestId={loadDataTestId(mode as DisappearingMessageConversationType)} + dataTestId={loadDataTestId(mode as DisappearingMessageConversationModeType)} /> ); })} 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 622ae4778..6177fe54a 100644 --- a/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx +++ b/ts/components/conversation/right-panel/overlay/disappearing-messages/OverlayDisappearingMessages.tsx @@ -15,7 +15,7 @@ import { } from '../../../../../state/selectors/selectedConversation'; import { DEFAULT_TIMER_OPTION, - DisappearingMessageConversationType, + DisappearingMessageConversationModeType, } from '../../../../../util/expiringMessages'; import { Flex } from '../../../../basic/Flex'; import { SessionButton } from '../../../../basic/SessionButton'; @@ -52,7 +52,7 @@ const StyledNonAdminDescription = styled.div` `; // TODO legacy messages support will be removed in a future release -function loadDefaultTimeValue(modeSelected: DisappearingMessageConversationType | undefined) { +function loadDefaultTimeValue(modeSelected: DisappearingMessageConversationModeType | undefined) { return modeSelected !== 'off' ? modeSelected !== 'legacy' ? modeSelected === 'deleteAfterSend' @@ -63,7 +63,7 @@ function loadDefaultTimeValue(modeSelected: DisappearingMessageConversationType } export type PropsForExpirationSettings = { - expirationType: DisappearingMessageConversationType | undefined; + expirationType: DisappearingMessageConversationModeType | undefined; expireTimer: number | undefined; isGroup: boolean | undefined; weAreAdmin: boolean | undefined; @@ -75,11 +75,11 @@ export const OverlayDisappearingMessages = () => { const disappearingModeOptions = useSelector(getSelectedConversationExpirationModes); // NOTE if there is only 'off' and one disappearing message mode then we trigger single mode - const singleMode: DisappearingMessageConversationType | undefined = + const singleMode: DisappearingMessageConversationModeType | undefined = disappearingModeOptions && disappearingModeOptions.off !== undefined && Object.keys(disappearingModeOptions).length === 2 - ? (Object.keys(disappearingModeOptions)[1] as DisappearingMessageConversationType) + ? (Object.keys(disappearingModeOptions)[1] as DisappearingMessageConversationModeType) : undefined; const hasOnlyOneMode = Boolean(singleMode && singleMode.length > 0); @@ -88,9 +88,9 @@ export const OverlayDisappearingMessages = () => { const expireTimer = useSelectedExpireTimer(); const weAreAdmin = useSelectedWeAreAdmin(); - const [modeSelected, setModeSelected] = useState( - hasOnlyOneMode ? singleMode : expirationType - ); + const [modeSelected, setModeSelected] = useState< + DisappearingMessageConversationModeType | undefined + >(hasOnlyOneMode ? singleMode : expirationType); const [timeSelected, setTimeSelected] = useState(expireTimer || 0); const timerOptions = useTimerOptionsByMode(modeSelected, hasOnlyOneMode); diff --git a/ts/interactions/conversationInteractions.ts b/ts/interactions/conversationInteractions.ts index 49f53baac..c8753adc0 100644 --- a/ts/interactions/conversationInteractions.ts +++ b/ts/interactions/conversationInteractions.ts @@ -44,7 +44,7 @@ import { encryptProfile } from '../util/crypto/profileEncrypter'; import { ReleasedFeatures } from '../util/releaseFeature'; import { Storage, setLastProfileUpdateTimestamp } from '../util/storage'; import { UserGroupsWrapperActions } from '../webworker/workers/browser/libsession_worker_interface'; -import { DisappearingMessageConversationType } from '../util/expiringMessages'; +import { DisappearingMessageConversationModeType } from '../util/expiringMessages'; import { GetNetworkTime } from '../session/apis/snode_api/getNetworkTime'; export async function copyPublicKeyByConvoId(convoId: string) { @@ -367,7 +367,7 @@ export function deleteAllMessagesByConvoIdWithConfirmation(conversationId: strin export async function setDisappearingMessagesByConvoId( conversationId: string, - expirationType: DisappearingMessageConversationType, + expirationType: DisappearingMessageConversationModeType, seconds?: number ) { const conversation = getConversationController().get(conversationId); diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts index b046d80d7..118d0ddac 100644 --- a/ts/models/conversation.ts +++ b/ts/models/conversation.ts @@ -118,7 +118,7 @@ import { } from '../state/selectors/sogsRoomInfo'; // decide it it makes sense to move this to a redux slice? import { - DisappearingMessageConversationType, + DisappearingMessageConversationModeType, changeToDisappearingMessageType, } from '../util/expiringMessages'; import { markAttributesAsReadIfNeeded } from './messageFactory'; @@ -811,7 +811,7 @@ export class ConversationModel extends Backbone.Model { shouldCommit = true, existingMessage, }: { - providedExpirationType?: DisappearingMessageConversationType; + providedExpirationType?: DisappearingMessageConversationModeType; providedExpireTimer?: number; providedChangeTimestamp: number; providedSource?: string; @@ -2338,7 +2338,7 @@ export class ConversationModel extends Backbone.Model { return []; } - private isDisappearingMode(mode: DisappearingMessageConversationType) { + private isDisappearingMode(mode: DisappearingMessageConversationModeType) { const success = mode === 'deleteAfterRead' ? this.get('expirationType') === 'deleteAfterRead' diff --git a/ts/models/conversationAttributes.ts b/ts/models/conversationAttributes.ts index 351e91766..1c7f79de8 100644 --- a/ts/models/conversationAttributes.ts +++ b/ts/models/conversationAttributes.ts @@ -1,6 +1,6 @@ import { defaults } from 'lodash'; import { LastMessageStatusType } from '../state/ducks/conversations'; -import { DisappearingMessageConversationType } from '../util/expiringMessages'; +import { DisappearingMessageConversationModeType } from '../util/expiringMessages'; /** * Private chats have always the type `Private` @@ -105,7 +105,7 @@ export interface ConversationAttributes { blocksSogsMsgReqsTimestamp: number; // if the convo is blinded and the user has denied contact through sogs, this field be set to the user's latest message timestamp - expirationType: DisappearingMessageConversationType; // the type of expiring messages for this conversation + expirationType: DisappearingMessageConversationModeType; // disappearing messages setting for this conversation lastDisappearingMessageChangeTimestamp: number; // to avoid applying a change of disappear change when our current one was applied more recently hasOutdatedClient?: string; // to warn the user that the person he is talking to is using an old client which might cause issues } diff --git a/ts/state/ducks/conversations.ts b/ts/state/ducks/conversations.ts index 3099fc323..e0e5d1e39 100644 --- a/ts/state/ducks/conversations.ts +++ b/ts/state/ducks/conversations.ts @@ -18,7 +18,7 @@ import { import { getConversationController } from '../../session/conversations'; import { ReactionList } from '../../types/Reaction'; import { - DisappearingMessageConversationType, + DisappearingMessageConversationModeType, DisappearingMessageType, } from '../../util/expiringMessages'; @@ -86,7 +86,7 @@ export type PropsForExpiringMessage = { }; export type PropsForExpirationTimer = { - expirationType: DisappearingMessageConversationType; + expirationType: DisappearingMessageConversationModeType; timespan: string; disabled: boolean; pubkey: string; @@ -247,7 +247,7 @@ export interface ReduxConversationType { weAreAdmin?: boolean; unreadCount?: number; mentionedUs?: boolean; - expirationType?: DisappearingMessageConversationType; + expirationType?: DisappearingMessageConversationModeType; expireTimer?: number; lastDisappearingMessageChangeTimestamp?: number; hasOutdatedClient?: string; diff --git a/ts/state/selectors/selectedConversation.ts b/ts/state/selectors/selectedConversation.ts index f05090bb0..21c0ca39e 100644 --- a/ts/state/selectors/selectedConversation.ts +++ b/ts/state/selectors/selectedConversation.ts @@ -7,8 +7,8 @@ import { StateType } from '../reducer'; import { getCanWrite, getModerators, getSubscriberCount } from './sogsRoomInfo'; import { getIsMessageSelectionMode, getSelectedConversation } from './conversations'; import { - DisappearingMessageConversationSetting, - DisappearingMessageConversationType, + DisappearingMessageConversationModes, + DisappearingMessageConversationModeType, } from '../../util/expiringMessages'; import { ReleasedFeatures } from '../../util/releaseFeature'; import { ReduxConversationType } from '../ducks/conversations'; @@ -167,7 +167,7 @@ const getSelectedConversationExpirationModesWithLegacy = (convo: ReduxConversati } // NOTE this needs to be as any because the number of modes can change depending on if v2 is released or we are in single mode - let modes: any = DisappearingMessageConversationSetting; + let modes: any = DisappearingMessageConversationModes; // Note to Self and Closed Groups only support deleteAfterSend and legacy modes const isClosedGroup = !convo.isPrivate && !convo.isPublic; @@ -202,7 +202,7 @@ export const getSelectedConversationExpirationModes = (state: StateType) => { } // NOTE this needs to be as any because the number of modes can change depending on if v2 is released or we are in single mode - let modes: any = DisappearingMessageConversationSetting; + let modes: any = DisappearingMessageConversationModes; // TODO legacy messages support will be removed in a future release // TODO remove legacy mode modes = modes.slice(0, -1); @@ -313,7 +313,7 @@ export function useSelectedExpireTimer(): number | undefined { } export function useSelectedConversationExpirationType(): - | DisappearingMessageConversationType + | DisappearingMessageConversationModeType | undefined { return useSelector((state: StateType) => getSelectedConversation(state)?.expirationType); } diff --git a/ts/util/expiringMessages.ts b/ts/util/expiringMessages.ts index 50823c65c..c5b76d61a 100644 --- a/ts/util/expiringMessages.ts +++ b/ts/util/expiringMessages.ts @@ -22,13 +22,13 @@ export type DisappearAfterSendOnly = Exclude 0 ? 'legacy' : 'off'; } @@ -387,7 +387,7 @@ function couldBeLegacyDisappearingMessageContent(contentMessage: SignalService.C function checkDisappearButIsntMessage( content: SignalService.Content, convo: ConversationModel, - expirationMode: DisappearingMessageConversationType, + expirationMode: DisappearingMessageConversationModeType, expirationTimer: number ): boolean { return (