fix: moved feature release timestamp to constants so it only has to be defined once

pull/2660/head
William Grant 2 years ago
parent 220d9bff47
commit f41c28a873

@ -12,7 +12,7 @@ const ClosableOverlay = () => {
useEffect(() => {
let isCancelled = false;
checkIsFeatureReleased('Disappearing Messages V2')
checkIsFeatureReleased('DISAPPEARING_MESSAGES_V2')
.then(result => {
if (isCancelled) {
return;

@ -1105,7 +1105,7 @@ export class ConversationModel extends Backbone.Model<ConversationAttributes> {
// 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);

@ -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

@ -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<string, number> = {
// 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
};

@ -299,7 +299,7 @@ export async function checkForExpireUpdate(
): Promise<DisappearingMessageUpdate | undefined> {
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(

@ -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<boole
const featureAlreadyReleased = await getIsFeatureReleased();
// Is it time to release the feature?
if (Date.now() >= featureReleaseTimestamp) {
if (Date.now() >= FEATURE_RELEASE_TIMESTAMPS[`${featureName}`]) {
if (featureAlreadyReleased) {
// Feature is already released and we don't need to update the db
} else {

Loading…
Cancel
Save