From e66e9961e1bef8d1ced75601ba87c28afd3e0e95 Mon Sep 17 00:00:00 2001 From: William Grant Date: Thu, 12 Oct 2023 14:59:03 +1100 Subject: [PATCH] fix: use precasted variables for modes for DisappearingMessageConversationModeType references --- .../DisappearingModes.tsx | 9 ++++---- ts/node/migration/helpers/v34.ts | 21 +++++++------------ ts/types/sqlSharedTypes.ts | 13 ++++-------- 3 files changed, 17 insertions(+), 26 deletions(-) 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 479a0b77f..cbb439c5d 100644 --- a/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx +++ b/ts/components/conversation/right-panel/overlay/disappearing-messages/DisappearingModes.tsx @@ -36,7 +36,8 @@ export const DisappearingModes = (props: DisappearingModesProps) => { <> {window.i18n('disappearingMessagesModeLabel')} - {Object.keys(options).map(mode => { + {Object.keys(options).map(_mode => { + const mode = _mode as DisappearingMessageConversationModeType; const optionI18n = mode === 'legacy' ? window.i18n('disappearingMessagesModeLegacy') @@ -63,10 +64,10 @@ export const DisappearingModes = (props: DisappearingModesProps) => { value={mode} isSelected={selected === mode} onSelect={() => { - setSelected(mode as DisappearingMessageConversationModeType); + setSelected(mode); }} - disabled={options[mode as DisappearingMessageConversationModeType]} - dataTestId={loadDataTestId(mode as DisappearingMessageConversationModeType)} + disabled={options[mode]} + dataTestId={loadDataTestId(mode)} /> ); })} diff --git a/ts/node/migration/helpers/v34.ts b/ts/node/migration/helpers/v34.ts index 4af76dcfc..d4d5b527f 100644 --- a/ts/node/migration/helpers/v34.ts +++ b/ts/node/migration/helpers/v34.ts @@ -8,18 +8,18 @@ import { LegacyGroupMemberInfo, UserGroupsWrapperNode, } from 'libsession_util_nodejs'; -import { isEmpty, isEqual } from 'lodash'; import { from_hex } from 'libsodium-wrappers-sumo'; +import { isEmpty, isEqual } from 'lodash'; import { CONVERSATION_PRIORITIES } from '../../../models/conversationAttributes'; +import { HexKeyPair } from '../../../receiver/keypairs'; import { fromHexToArray } from '../../../session/utils/String'; -import { checkTargetMigration, hasDebugEnvVariable } from '../utils'; import { - ConfigDumpRow, CONFIG_DUMP_TABLE, + ConfigDumpRow, maybeArrayJSONtoArray, } from '../../../types/sqlSharedTypes'; -import { HexKeyPair } from '../../../receiver/keypairs'; import { sqlNode } from '../../sql'; +import { checkTargetMigration, hasDebugEnvVariable } from '../utils'; const targetVersion = 34; @@ -99,7 +99,7 @@ function getContactInfoFromDBValues({ dbProfileUrl: string | undefined; dbProfileKey: string | undefined; dbCreatedAtSeconds: number; - expirationMode: string | undefined; + expirationMode: DisappearingMessageConversationModeType | undefined; expireTimer: number | undefined; }): ContactInfoSet { const wrapperContact: ContactInfoSet = { @@ -111,9 +111,7 @@ function getContactInfoFromDBValues({ nickname: dbNickname, name: dbName, createdAtSeconds: dbCreatedAtSeconds, - expirationMode: expirationMode - ? (expirationMode as DisappearingMessageConversationModeType) - : undefined, + expirationMode, expirationTimerSeconds: !!expireTimer && expireTimer > 0 ? expireTimer : 0, }; @@ -212,7 +210,7 @@ function getLegacyGroupInfoFromDBValues({ id: string; priority: number; displayNameInProfile: string | undefined; - expirationMode: string | undefined; + expirationMode: DisappearingMessageConversationModeType | undefined; expireTimer: number | undefined; encPubkeyHex: string; encSeckeyHex: string; @@ -232,10 +230,7 @@ function getLegacyGroupInfoFromDBValues({ const legacyGroup: LegacyGroupInfo = { pubkeyHex: id, disappearingTimerSeconds: - expirationMode && - (expirationMode as DisappearingMessageConversationModeType) !== 'off' && - !!expireTimer && - expireTimer > 0 + expirationMode && expirationMode !== 'off' && !!expireTimer && expireTimer > 0 ? expireTimer : 0, name: displayNameInProfile || '', diff --git a/ts/types/sqlSharedTypes.ts b/ts/types/sqlSharedTypes.ts index 1e40c3862..e709a29c4 100644 --- a/ts/types/sqlSharedTypes.ts +++ b/ts/types/sqlSharedTypes.ts @@ -138,7 +138,7 @@ export function getContactInfoFromDBValues({ dbProfileUrl: string | undefined; dbProfileKey: string | undefined; dbCreatedAtSeconds: number; - expirationMode: string | undefined; + expirationMode: DisappearingMessageConversationModeType | undefined; expireTimer: number | undefined; }): ContactInfoSet { const wrapperContact: ContactInfoSet = { @@ -150,9 +150,7 @@ export function getContactInfoFromDBValues({ nickname: dbNickname, name: dbName, createdAtSeconds: dbCreatedAtSeconds, - expirationMode: expirationMode - ? (expirationMode as DisappearingMessageConversationModeType) - : undefined, + expirationMode, expirationTimerSeconds: !!expireTimer && expireTimer > 0 ? expireTimer : 0, }; @@ -229,7 +227,7 @@ export function getLegacyGroupInfoFromDBValues({ id: string; priority: number; displayNameInProfile: string | undefined; - expirationMode: string | undefined; + expirationMode: DisappearingMessageConversationModeType | undefined; expireTimer: number | undefined; encPubkeyHex: string; encSeckeyHex: string; @@ -253,10 +251,7 @@ export function getLegacyGroupInfoFromDBValues({ priority: priority || 0, members: wrappedMembers, disappearingTimerSeconds: - expirationMode && - (expirationMode as DisappearingMessageConversationModeType) !== 'off' && - !!expireTimer && - expireTimer > 0 + expirationMode && expirationMode !== 'off' && !!expireTimer && expireTimer > 0 ? expireTimer : 0, encPubkey: !isEmpty(encPubkeyHex) ? from_hex(encPubkeyHex) : new Uint8Array(),