diff --git a/ts/components/conversation/right-panel/RightPanel.tsx b/ts/components/conversation/right-panel/RightPanel.tsx index 419f7f5d2..ecffda663 100644 --- a/ts/components/conversation/right-panel/RightPanel.tsx +++ b/ts/components/conversation/right-panel/RightPanel.tsx @@ -12,7 +12,7 @@ const ClosableOverlay = () => { useEffect(() => { let isCancelled = false; - checkIsFeatureReleased('Disappearing Messages V2') + checkIsFeatureReleased('DISAPPEARING_MESSAGES_V2') .then(result => { if (isCancelled) { return; diff --git a/ts/models/conversation.ts b/ts/models/conversation.ts index 386142551..9e95a4451 100644 --- a/ts/models/conversation.ts +++ b/ts/models/conversation.ts @@ -1105,7 +1105,7 @@ export class ConversationModel extends Backbone.Model { // We will only support legacy disappearing messages for a short period before disappearing messages v2 is unlocked const isDisappearingMessagesV2Released = await checkIsFeatureReleased( - 'Disappearing Messages V2' + 'DISAPPEARING_MESSAGES_V2' ); const isOutgoing = Boolean(!receivedAt); diff --git a/ts/node/migration/sessionMigrations.ts b/ts/node/migration/sessionMigrations.ts index 08cc0dce0..06e3542fa 100644 --- a/ts/node/migration/sessionMigrations.ts +++ b/ts/node/migration/sessionMigrations.ts @@ -16,6 +16,7 @@ import { } from '../database_utility'; import { sqlNode } from '../sql'; +import { FEATURE_RELEASE_TIMESTAMPS } from '../../session/constants'; // tslint:disable: no-console quotemark one-variable-per-declaration @@ -1225,12 +1226,8 @@ function updateToSessionSchemaVersion30(currentVersion: number, db: BetterSqlite db.prepare(`ALTER TABLE ${CONVERSATIONS_TABLE} ADD COLUMN hasOutdatedClient TEXT;`).run(); - // TODO update to agreed value between platforms - const disappearingMessagesV2ReleaseTimestamp = 1706778000000; // unix 01/02/2024 09:00 - // const disappearingMessagesV2ReleaseTimestamp = 1677488400000; // unix 27/02/2023 09:00 - // support disppearing messages legacy mode until after the platform agreed timestamp - if (Date.now() < disappearingMessagesV2ReleaseTimestamp) { + if (Date.now() < FEATURE_RELEASE_TIMESTAMPS.DISAPPEARING_MESSAGES_V2) { db.prepare( `UPDATE ${CONVERSATIONS_TABLE} SET expirationType = $expirationType diff --git a/ts/session/constants.ts b/ts/session/constants.ts index a6d71bf0d..d47c99a22 100644 --- a/ts/session/constants.ts +++ b/ts/session/constants.ts @@ -66,3 +66,10 @@ export const QUOTED_TEXT_MAX_LENGTH = 150; export const DEFAULT_RECENT_REACTS = ['😂', '🥰', '😢', '😡', '😮', '😈']; export const MAX_USERNAME_BYTES = 64; + +export const FEATURE_RELEASE_TIMESTAMPS: Record = { + // TODO update to agreed value between platforms + DISAPPEARING_MESSAGES_V2: 1706778000000, // unix 01/02/2024 09:00 + // NOTE for testing purposes only + // DISAPPEARING_MESSAGES_V2: 1677488400000, // unix 27/02/2023 09:00 +}; diff --git a/ts/util/expiringMessages.ts b/ts/util/expiringMessages.ts index ec089acd7..16d50c75a 100644 --- a/ts/util/expiringMessages.ts +++ b/ts/util/expiringMessages.ts @@ -299,7 +299,7 @@ export async function checkForExpireUpdate( ): Promise { const dataMessage = content.dataMessage as SignalService.DataMessage; // We will only support legacy disappearing messages for a short period before disappearing messages v2 is unlocked - const isDisappearingMessagesV2Released = await checkIsFeatureReleased('Disappearing Messages V2'); + const isDisappearingMessagesV2Released = await checkIsFeatureReleased('DISAPPEARING_MESSAGES_V2'); const isLegacyContentMessage = checkIsLegacyContentMessage(content); const isLegacyDataMessage = Boolean( diff --git a/ts/util/releaseFeature.ts b/ts/util/releaseFeature.ts index 1e111a797..59d4a9ba4 100644 --- a/ts/util/releaseFeature.ts +++ b/ts/util/releaseFeature.ts @@ -1,8 +1,6 @@ +import { FEATURE_RELEASE_TIMESTAMPS } from '../session/constants'; import { Storage } from './storage'; -// TODO update to agreed value between platforms -const featureReleaseTimestamp = 1706778000000; // unix 01/02/2024 09:00 -// const featureReleaseTimestamp = 1677488400000; // unix 27/02/2023 09:00 let isFeatureReleased: boolean | undefined; /** @@ -32,7 +30,7 @@ export async function checkIsFeatureReleased(featureName: string): Promise= featureReleaseTimestamp) { + if (Date.now() >= FEATURE_RELEASE_TIMESTAMPS[`${featureName}`]) { if (featureAlreadyReleased) { // Feature is already released and we don't need to update the db } else {