Reduce unnecessary redux update during message receipt
This commit is contained in:
parent
95842c6e0b
commit
844613272c
1 changed files with 11 additions and 3 deletions
|
@ -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 (
|
||||
|
|
Loading…
Add table
Reference in a new issue