Skip to content

Commit 512dcaa

Browse files
Improve handling of expireTimerVersion glare
1 parent b8ae50e commit 512dcaa

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

ts/models/conversations.ts

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4679,32 +4679,37 @@ export class ConversationModel extends window.Backbone
46794679
expireTimer = undefined;
46804680
}
46814681

4682+
const timerMatchesLocalValue =
4683+
this.get('expireTimer') === expireTimer ||
4684+
(!expireTimer && !this.get('expireTimer'));
4685+
4686+
const localVersion = this.getExpireTimerVersion();
4687+
46824688
const logId =
46834689
`updateExpirationTimer(${this.idForLogging()}, ` +
46844690
`${expireTimer || 'disabled'}, version=${version || 0}) ` +
4685-
`source=${source ?? '?'} reason=${reason}`;
4691+
`source=${source ?? '?'} localValue=${this.get('expireTimer')} ` +
4692+
`localVersion=${localVersion}, reason=${reason}`;
46864693

46874694
if (isSetByOther) {
4688-
const expireTimerVersion = this.getExpireTimerVersion();
46894695
if (version) {
4690-
if (expireTimerVersion && version < expireTimerVersion) {
4691-
log.warn(
4692-
`${logId}: not updating, local version is ${expireTimerVersion}`
4693-
);
4696+
if (localVersion && version < localVersion) {
4697+
log.warn(`${logId}: not updating, local version is ${localVersion}`);
46944698
return;
46954699
}
4696-
if (version === expireTimerVersion) {
4697-
log.warn(`${logId}: expire version glare`);
4700+
4701+
if (version === localVersion) {
4702+
if (!timerMatchesLocalValue) {
4703+
log.warn(`${logId}: expire version glare`);
4704+
}
46984705
} else {
46994706
this.set({ expireTimerVersion: version });
47004707
log.info(`${logId}: updating expire version`);
47014708
}
47024709
}
47034710
}
4704-
if (
4705-
this.get('expireTimer') === expireTimer ||
4706-
(!expireTimer && !this.get('expireTimer'))
4707-
) {
4711+
4712+
if (timerMatchesLocalValue) {
47084713
return;
47094714
}
47104715

0 commit comments

Comments
 (0)