diff --git a/ts/util/releaseFeature.ts b/ts/util/releaseFeature.ts index 4c641ef5e..882f7c610 100644 --- a/ts/util/releaseFeature.ts +++ b/ts/util/releaseFeature.ts @@ -6,7 +6,7 @@ import { FEATURE_RELEASE_TIMESTAMPS } from '../session/constants'; let isDisappearingMessageFeatureReleased: boolean | undefined; let isUserConfigLibsessionFeatureReleased: boolean | undefined; -type FeatureNameTracked = 'disappearing_messages' | 'user_config_libsession'; +export type FeatureNameTracked = 'disappearing_messages' | 'user_config_libsession'; /** * This is only intended for testing. Do not call this in production. @@ -117,3 +117,13 @@ export const ReleasedFeatures = { isUserConfigFeatureReleasedCached, isDisappearMessageV2FeatureReleasedCached, }; + +// DO NOT MERGE +// TODO Remove before PR +async function setIsFeatureReleased(featureName: FeatureNameTracked, value: boolean) { + await Storage.put(featureStorageItemId(featureName), value); + setIsFeatureReleasedCached(featureName, value); + window.log.debug(`WIP: setIsFeatureReleased: ${featureName} ${value}`); +} + +window.setIsFeatureReleased = setIsFeatureReleased; diff --git a/ts/window.d.ts b/ts/window.d.ts index 2e5da8494..1e04b6842 100644 --- a/ts/window.d.ts +++ b/ts/window.d.ts @@ -5,6 +5,7 @@ import { LocalizerType } from './types/Util'; import { ConversationCollection } from './models/conversation'; import { PrimaryColorStateType, ThemeStateType } from './themes/constants/colors'; +import { FeatureNameTracked } from './util/releaseFeature'; export interface LibTextsecure { messaging: boolean; @@ -104,6 +105,9 @@ declare global { setAutoUpdateEnabled: (enabled: boolean) => void; setZoomFactor: (newZoom: number) => void; updateZoomFactor: () => void; + // DO NOT MERGE + // TODO Remove before PR + setIsFeatureReleased: (featureName: FeatureNameTracked, value: boolean) => Promise; Signal: any; }