diff --git a/ts/background.ts b/ts/background.ts index bf9cb80daa..704811beac 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -2266,7 +2266,7 @@ export async function startApp(): Promise { maxSize: Infinity, }); - const throttledSetInboxEnvelopeTimestamp = throttle( + const _throttledSetInboxEnvelopeTimestamp = throttle( serverTimestamp => { window.reduxActions.inbox.setInboxEnvelopeTimestamp(serverTimestamp); }, @@ -2274,16 +2274,24 @@ export async function startApp(): Promise { { leading: false } ); + function setInboxEnvelopeTimestamp(timestamp: number): void { + // This timestamp is only used in the loading screen UI. If the app has loaded, let's + // not set it to avoid unnecessary renders + if (!window.reduxStore.getState().app.hasInitialLoadCompleted) { + _throttledSetInboxEnvelopeTimestamp(timestamp); + } + } + async function onEnvelopeQueued({ envelope, }: EnvelopeQueuedEvent): Promise { - throttledSetInboxEnvelopeTimestamp(envelope.serverTimestamp); + setInboxEnvelopeTimestamp(envelope.serverTimestamp); } async function onEnvelopeUnsealed({ envelope, }: EnvelopeUnsealedEvent): Promise { - throttledSetInboxEnvelopeTimestamp(envelope.serverTimestamp); + setInboxEnvelopeTimestamp(envelope.serverTimestamp); const ourAci = window.textsecure.storage.user.getAci(); if (