From 9f1bd94627c93aaaddf907d5f6555aa2234fccdb Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Tue, 24 Aug 2021 16:36:43 -0700 Subject: [PATCH] New version startup: clear remote expiration, hydrate from remote config --- ts/background.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/ts/background.ts b/ts/background.ts index 76794d128a..c52c1e1679 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -678,6 +678,14 @@ export async function startApp(): Promise { `New version detected: ${currentVersion}; previous: ${lastVersion}` ); + const remoteBuildExpiration = window.storage.get('remoteBuildExpiration'); + if (remoteBuildExpiration) { + window.log.info( + `Clearing remoteBuildExpiration. Previous value was ${remoteBuildExpiration}` + ); + window.storage.remove('remoteBuildExpiration'); + } + const themeSetting = window.Events.getThemeSetting(); const newThemeSetting = mapOldThemeToNew(themeSetting); @@ -1990,6 +1998,24 @@ export async function startApp(): Promise { // Force a re-fetch before we process our queue. We may want to turn on // something which changes how we process incoming messages! await window.Signal.RemoteConfig.refreshRemoteConfig(server); + + const expiration = window.Signal.RemoteConfig.getValue( + 'desktop.clientExpiration' + ); + if (expiration) { + const remoteBuildExpirationTimestamp = window.Signal.Util.parseRemoteClientExpiration( + expiration as string + ); + if (remoteBuildExpirationTimestamp) { + window.storage.put( + 'remoteBuildExpiration', + remoteBuildExpirationTimestamp + ); + window.reduxActions.expiration.hydrateExpirationStatus( + window.Signal.Util.hasExpired() + ); + } + } } catch (error) { window.log.error( 'connect: Error refreshing remote config:',