Browse Source

Avoids firing unneeded subscription change events

main
Eric Amodio 2 years ago
parent
commit
6f4791aeca
1 changed files with 9 additions and 2 deletions
  1. +9
    -2
      src/plus/subscription/subscriptionService.ts

+ 9
- 2
src/plus/subscription/subscriptionService.ts View File

@ -759,12 +759,19 @@ export class SubscriptionService implements Disposable {
subscription.state = computeSubscriptionState(subscription);
assertSubscriptionState(subscription);
void this.storeSubscription(subscription);
const previous = this._subscription; // Can be undefined here, since we call this in the constructor
this._subscription = subscription;
// If the previous and new subscriptions are exactly the same, kick out
if (previous != null && JSON.stringify(previous) === JSON.stringify(subscription)) {
return;
}
void this.storeSubscription(subscription);
this._subscription = subscription;
this._etag = Date.now();
this.updateContext();
if (!silent && previous != null) {

Loading…
Cancel
Save