mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-02-15 07:28:59 +00:00
Reduce unnecessary redux update during message receipt
This commit is contained in:
@@ -2266,7 +2266,7 @@ export async function startApp(): Promise<void> {
|
||||
maxSize: Infinity,
|
||||
});
|
||||
|
||||
const throttledSetInboxEnvelopeTimestamp = throttle(
|
||||
const _throttledSetInboxEnvelopeTimestamp = throttle(
|
||||
serverTimestamp => {
|
||||
window.reduxActions.inbox.setInboxEnvelopeTimestamp(serverTimestamp);
|
||||
},
|
||||
@@ -2274,16 +2274,24 @@ export async function startApp(): Promise<void> {
|
||||
{ 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<void> {
|
||||
throttledSetInboxEnvelopeTimestamp(envelope.serverTimestamp);
|
||||
setInboxEnvelopeTimestamp(envelope.serverTimestamp);
|
||||
}
|
||||
|
||||
async function onEnvelopeUnsealed({
|
||||
envelope,
|
||||
}: EnvelopeUnsealedEvent): Promise<void> {
|
||||
throttledSetInboxEnvelopeTimestamp(envelope.serverTimestamp);
|
||||
setInboxEnvelopeTimestamp(envelope.serverTimestamp);
|
||||
|
||||
const ourAci = window.textsecure.storage.user.getAci();
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user