@matter/node 0.17.7 → 0.17.8-alpha.0-20260801-92169d0aa

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts +2 -1
  2. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
  3. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js +18 -9
  4. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  5. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  6. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +4 -1
  7. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  8. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  9. package/dist/cjs/node/server/InteractionServer.js +52 -35
  10. package/dist/cjs/node/server/InteractionServer.js.map +1 -1
  11. package/dist/cjs/node/server/ServerSubscription.d.ts +2 -2
  12. package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
  13. package/dist/cjs/node/server/ServerSubscription.js +41 -22
  14. package/dist/cjs/node/server/ServerSubscription.js.map +1 -1
  15. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts +2 -1
  16. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.d.ts.map +1 -1
  17. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js +18 -9
  18. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  19. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  20. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +16 -2
  21. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  22. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  23. package/dist/esm/node/server/InteractionServer.js +52 -35
  24. package/dist/esm/node/server/InteractionServer.js.map +1 -1
  25. package/dist/esm/node/server/ServerSubscription.d.ts +2 -2
  26. package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
  27. package/dist/esm/node/server/ServerSubscription.js +44 -23
  28. package/dist/esm/node/server/ServerSubscription.js.map +1 -1
  29. package/package.json +6 -6
  30. package/src/behavior/system/software-update/SoftwareUpdateManager.ts +22 -9
  31. package/src/behavior/system/subscriptions/SubscriptionsServer.ts +22 -2
  32. package/src/node/server/InteractionServer.ts +59 -38
  33. package/src/node/server/ServerSubscription.ts +48 -26
@@ -92,6 +92,7 @@ import { ServerSubscription, ServerSubscriptionConfig } from "./ServerSubscripti
92
92
  const logger = Logger.get("InteractionServer");
93
93
  const MAX_READ_PATHS = 1e4;
94
94
  const MAX_SUBSCRIBE_PATHS = 1e4;
95
+ const SUBSCRIPTION_EXCHANGE_OPTIONS = { suppressPeerLoss: true };
95
96
  function validateReadAttributesPath(path) {
96
97
  const { clusterId, attributeId } = path;
97
98
  if (clusterId === void 0 && attributeId !== void 0) {
@@ -578,7 +579,15 @@ class InteractionServer {
578
579
  }
579
580
  }
580
581
  #initiateSubscriptionExchange(addressOrSession, protocolId) {
581
- const exchange = addressOrSession instanceof Session ? this.#context.exchangeManager.initiateExchangeForSession(addressOrSession, protocolId) : this.#context.exchangeManager.initiateExchange(addressOrSession, protocolId);
582
+ const exchange = addressOrSession instanceof Session ? this.#context.exchangeManager.initiateExchangeForSession(
583
+ addressOrSession,
584
+ protocolId,
585
+ SUBSCRIPTION_EXCHANGE_OPTIONS
586
+ ) : this.#context.exchangeManager.initiateExchange(
587
+ addressOrSession,
588
+ protocolId,
589
+ SUBSCRIPTION_EXCHANGE_OPTIONS
590
+ );
582
591
  this.#countExchangeMessages(exchange);
583
592
  return exchange;
584
593
  }
@@ -624,41 +633,43 @@ class InteractionServer {
624
633
  maxInterval,
625
634
  sendInterval
626
635
  }, session) {
627
- const exchange = this.#context.exchangeManager.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
628
- logger.info(
629
- `Reestablish subscription`,
630
- Mark.OUTBOUND,
631
- exchange.via,
632
- Diagnostic.dict({
633
- ...Subscription.diagnosticOf(subscriptionId),
634
- isFabricFiltered,
635
- maxInterval: Duration.format(maxInterval),
636
- sendInterval: Duration.format(sendInterval)
637
- })
638
- );
639
- const context = {
640
- session,
641
- node: this.#node,
642
- initiateExchange: (addressOrSession, protocolId) => this.#initiateSubscriptionExchange(addressOrSession, protocolId)
643
- };
644
- const subscription = new ServerSubscription({
645
- id: subscriptionId,
646
- context,
647
- request: {
648
- attributeRequests,
649
- eventRequests,
650
- isFabricFiltered,
651
- minIntervalFloorSeconds: Seconds.of(minIntervalFloor),
652
- maxIntervalCeilingSeconds: Seconds.of(maxIntervalCeiling)
653
- },
654
- subscriptionOptions: this.#subscriptionConfig,
655
- useAsMaxInterval: maxInterval,
656
- useAsSendInterval: sendInterval
657
- });
658
- const readContext = this.#prepareOnlineContext(exchange, void 0, isFabricFiltered);
636
+ const exchange = this.#initiateSubscriptionExchange(session, INTERACTION_PROTOCOL_ID);
637
+ const messenger = new InteractionServerMessenger(exchange);
638
+ let subscription;
659
639
  try {
640
+ logger.info(
641
+ `Reestablish subscription`,
642
+ Mark.OUTBOUND,
643
+ exchange.via,
644
+ Diagnostic.dict({
645
+ ...Subscription.diagnosticOf(subscriptionId),
646
+ isFabricFiltered,
647
+ maxInterval: Duration.format(maxInterval),
648
+ sendInterval: Duration.format(sendInterval)
649
+ })
650
+ );
651
+ const context = {
652
+ session,
653
+ node: this.#node,
654
+ initiateExchange: (addressOrSession, protocolId) => this.#initiateSubscriptionExchange(addressOrSession, protocolId)
655
+ };
656
+ subscription = new ServerSubscription({
657
+ id: subscriptionId,
658
+ context,
659
+ request: {
660
+ attributeRequests,
661
+ eventRequests,
662
+ isFabricFiltered,
663
+ minIntervalFloorSeconds: Seconds.of(minIntervalFloor),
664
+ maxIntervalCeilingSeconds: Seconds.of(maxIntervalCeiling)
665
+ },
666
+ subscriptionOptions: this.#subscriptionConfig,
667
+ useAsMaxInterval: maxInterval,
668
+ useAsSendInterval: sendInterval
669
+ });
670
+ const readContext = this.#prepareOnlineContext(exchange, void 0, isFabricFiltered);
660
671
  await subscription.sendInitialReport(
661
- new InteractionServerMessenger(exchange),
672
+ messenger,
662
673
  readContext,
663
674
  true
664
675
  // Do not send status responses because we simulate that the subscription is still established
@@ -678,8 +689,14 @@ class InteractionServer {
678
689
  );
679
690
  }
680
691
  } catch (error) {
681
- await subscription.close();
692
+ await subscription?.close();
682
693
  throw error;
694
+ } finally {
695
+ try {
696
+ await messenger.close();
697
+ } catch (error) {
698
+ logger.warn("Error closing subscription re-establishment exchange", error);
699
+ }
683
700
  }
684
701
  return subscription;
685
702
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/InteractionServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["subscription", "commandPath", "commandRef"]
6
6
  }
@@ -71,7 +71,7 @@ export declare class ServerSubscription implements Subscription {
71
71
  get subscriptionId(): number;
72
72
  get idStr(): string;
73
73
  get session(): NodeSession;
74
- get isCanceledByPeer(): boolean;
74
+ get isTerminated(): boolean;
75
75
  get request(): Omit<import("@matter/types").TypeFromFields<{
76
76
  keepSubscriptions: import("@matter/types").FieldType<boolean>;
77
77
  minIntervalFloorSeconds: import("@matter/types").FieldType<number>;
@@ -131,6 +131,6 @@ export declare class ServerSubscription implements Subscription {
131
131
  /**
132
132
  * Closes the subscription and flushes all outstanding data updates if requested.
133
133
  */
134
- close(flushViaSession?: Session): Promise<void>;
134
+ close(flushViaSession?: Session, currentExchange?: MessageExchange): Promise<void>;
135
135
  }
136
136
  //# sourceMappingURL=ServerSubscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSubscription.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACH,eAAe,EAGf,QAAQ,EAgBX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAc,eAAe,EAAE,WAAW,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAIH,0BAA0B,EAE1B,WAAW,EAIX,YAAY,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,WAAW,EACX,SAAS,EACT,cAAc,EAKd,gBAAgB,EACnB,MAAM,eAAe,CAAC;AAcvB,eAAO,MAAM,4BAA4B,UAAY,CAAC;AACtD,eAAO,MAAM,iCAAiC,UAAa,CAAC;AAC5D,eAAO,MAAM,YAAY,UAAa,CAAC;AACvC,eAAO,MAAM,4BAA4B,UAAc,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;OAGG;IACH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;OAIG;IACH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;OAIG;IACH,mBAAmB,EAAE,QAAQ,CAAC;CACjC;AAED,yBAAiB,wBAAwB,CAAC,CAAC;IACvC;;;;OAIG;IACH,SAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAEtD,WAAW;QACX,WAAW;QACX,mBAAmB;MAE1B;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IAEtC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC;CAClG;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;IA6BnD,YAAY,OAAO,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,yBAAyB,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,CAAC;QAClF,mBAAmB,EAAE,wBAAwB,CAAC;QAC9C,gBAAgB,CAAC,EAAE,QAAQ,CAAC;QAC5B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;KAChC,EAgCA;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,KAAK,WAER;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,gBAAgB,YAEnB;IAED,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAEV;IAED,IAAI,SAAS,wDAEZ;IAED,IAAI,WAAW,IAmBQ,QAAQ,CAd9B;IAED,IAAI,YAAY,aAEf;IAED,IAAI,gBAAgB,aAEnB;IAED,IAAI,kBAAkB,aAErB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,EAK9B;IAEK,gBAAgB,kBAWrB;IA+ID,+GAA+G;IAC/G,QAAQ,YAqCP;IAoOK,iBAAiB,CACnB,SAAS,EAAE,0BAA0B,EACrC,WAAW,EAAE,kBAAkB,CAAC,OAAO,EACvC,qBAAqB,CAAC,EAAE,OAAO,iBAwBlC;IAcD;;OAEG;IACG,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,iBAYpC;CA6IJ"}
1
+ {"version":3,"file":"ServerSubscription.d.ts","sourceRoot":"","sources":["../../../../src/node/server/ServerSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACH,eAAe,EAIf,QAAQ,EAgBX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAc,eAAe,EAAE,WAAW,EAAE,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAIH,0BAA0B,EAE1B,WAAW,EAIX,YAAY,EAEf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,WAAW,EACX,SAAS,EACT,cAAc,EAKd,gBAAgB,EACnB,MAAM,eAAe,CAAC;AAcvB,eAAO,MAAM,4BAA4B,UAAY,CAAC;AACtD,eAAO,MAAM,iCAAiC,UAAa,CAAC;AAC5D,eAAO,MAAM,YAAY,UAAa,CAAC;AACvC,eAAO,MAAM,4BAA4B,UAAc,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;OAGG;IACH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;OAIG;IACH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;;;OAIG;IACH,mBAAmB,EAAE,QAAQ,CAAC;CACjC;AAED,yBAAiB,wBAAwB,CAAC,CAAC;IACvC;;;;OAIG;IACH,SAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC;QAEtD,WAAW;QACX,WAAW;QACX,mBAAmB;MAE1B;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IAEtC,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,CAAC,gBAAgB,EAAE,WAAW,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC;CAClG;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;;IA6BnD,YAAY,OAAO,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,yBAAyB,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,CAAC;QAClF,mBAAmB,EAAE,wBAAwB,CAAC;QAC9C,gBAAgB,CAAC,EAAE,QAAQ,CAAC;QAC5B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;KAChC,EAgCA;IAED,IAAI,cAAc,WAEjB;IAED,IAAI,KAAK,WAER;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,YAAY,YAEf;IAED,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0DAEV;IAED,IAAI,SAAS,wDAEZ;IAED,IAAI,WAAW,IAmBQ,QAAQ,CAd9B;IAED,IAAI,YAAY,aAEf;IAED,IAAI,gBAAgB,aAEnB;IAED,IAAI,kBAAkB,aAErB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,QAAQ,EAK9B;IAEK,gBAAgB,kBAYrB;IA+ID,+GAA+G;IAC/G,QAAQ,YAqCP;IAwOK,iBAAiB,CACnB,SAAS,EAAE,0BAA0B,EACrC,WAAW,EAAE,kBAAkB,CAAC,OAAO,EACvC,qBAAqB,CAAC,EAAE,OAAO,iBAwBlC;IAcD;;OAEG;IACG,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,eAAe,iBAYvE;CA4JJ"}
@@ -53,6 +53,7 @@ import { RemoteActorContext } from "#behavior/context/server/RemoteActorContext.
53
53
  import { IcdManagementServer } from "#behaviors/icd-management";
54
54
  import {
55
55
  AsyncObservable,
56
+ causedBy,
56
57
  ClosedError,
57
58
  Diagnostic,
58
59
  Duration,
@@ -77,7 +78,8 @@ import {
77
78
  EventReadResponse,
78
79
  InteractionServerMessenger,
79
80
  Read,
80
- SessionClosedError
81
+ SessionClosedError,
82
+ TransientPeerCommunicationError
81
83
  } from "@matter/protocol";
82
84
  import {
83
85
  ClusterId,
@@ -108,7 +110,7 @@ class ServerSubscription {
108
110
  #context;
109
111
  #id;
110
112
  #isClosed = false;
111
- #isCanceledByPeer = false;
113
+ #isTerminated = false;
112
114
  #request;
113
115
  #cancelled = AsyncObservable();
114
116
  #maxInterval;
@@ -167,8 +169,8 @@ class ServerSubscription {
167
169
  get session() {
168
170
  return this.#context.session;
169
171
  }
170
- get isCanceledByPeer() {
171
- return this.#isCanceledByPeer;
172
+ get isTerminated() {
173
+ return this.#isTerminated;
172
174
  }
173
175
  get request() {
174
176
  return this.#request;
@@ -198,7 +200,8 @@ class ServerSubscription {
198
200
  this.#maxInterval = value;
199
201
  }
200
202
  async handlePeerCancel() {
201
- this.#isCanceledByPeer = true;
203
+ logger.notice(`Subscription ${this.idStr} cancelled by peer`);
204
+ this.#isTerminated = true;
202
205
  try {
203
206
  await this.#currentSendExchange?.close(new ClosedError("Subscription cancelled by peer"));
204
207
  } catch (error) {
@@ -396,7 +399,7 @@ class ServerSubscription {
396
399
  __callDispose(_stack, _error, _hasError);
397
400
  }
398
401
  } catch (error) {
399
- if (this.#isClosed || this.#isCanceledByPeer) {
402
+ if (this.#isClosed || this.#isTerminated) {
400
403
  return;
401
404
  }
402
405
  this.#sendUpdateErrorCounter++;
@@ -420,16 +423,22 @@ class ServerSubscription {
420
423
  this.#outstandingEventsMinNumber = eventsMinNumber;
421
424
  }
422
425
  } else {
423
- logger.info(
424
- `Sending update failed 3 times in a row, canceling subscription ${this.idStr} and let controller subscribe again.`
426
+ logger.notice(
427
+ `Giving up on subscription ${this.idStr} after 3 failed updates; the controller must subscribe again`
425
428
  );
426
429
  this.#sendNextUpdateImmediately = false;
427
- if (error instanceof NoResponseTimeoutError || error instanceof NetworkError || error instanceof SessionClosedError) {
430
+ if (causedBy(
431
+ error,
432
+ TransientPeerCommunicationError,
433
+ NoResponseTimeoutError,
434
+ NetworkError,
435
+ SessionClosedError
436
+ )) {
428
437
  var _stack2 = [];
429
438
  try {
430
- const _messaging = __using(_stack2, updating?.join("canceling"));
431
- this.#isCanceledByPeer = true;
432
- await this.#cancel();
439
+ const _messaging = __using(_stack2, updating?.join("abandoning"));
440
+ this.#isTerminated = true;
441
+ await this.#closeFromUpdate();
433
442
  break;
434
443
  } catch (_2) {
435
444
  var _error2 = _2, _hasError2 = true;
@@ -564,12 +573,12 @@ class ServerSubscription {
564
573
  payload: this.#processAttributesAndEventsReport(readContext, suppressStatusReports)
565
574
  });
566
575
  }
567
- async #flush(flushViaSession) {
576
+ async #flush(flushViaSession, currentExchange) {
568
577
  this.#sendDelayTimer.stop();
569
578
  if (this.#outstandingAttributeUpdates !== void 0 || this.#outstandingEventsMinNumber !== void 0) {
570
579
  logger.debug(`Flushing subscription ${this.idStr}${this.#isClosed ? " (for closing)" : ""}`);
571
580
  this.#triggerSendUpdate(true, flushViaSession);
572
- if (this.#currentUpdatePromise) {
581
+ if (this.#currentUpdatePromise && !this.#isSendingOn(currentExchange)) {
573
582
  var _stack = [];
574
583
  try {
575
584
  const _waiting = __using(_stack, this.#lifetime?.join("waiting on flush"));
@@ -585,13 +594,13 @@ class ServerSubscription {
585
594
  /**
586
595
  * Closes the subscription and flushes all outstanding data updates if requested.
587
596
  */
588
- async close(flushViaSession) {
597
+ async close(flushViaSession, currentExchange) {
589
598
  if (this.#isClosed) {
590
599
  return;
591
600
  }
592
601
  this.#isClosed = true;
593
- await this.#cancel(flushViaSession);
594
- if (this.#currentUpdatePromise) {
602
+ await this.#cancel(flushViaSession, currentExchange);
603
+ if (this.#currentUpdatePromise && !this.#isSendingOn(currentExchange)) {
595
604
  var _stack = [];
596
605
  try {
597
606
  const _waiting = __using(_stack, this.#lifetime?.closing()?.join("waiting on update"));
@@ -603,7 +612,19 @@ class ServerSubscription {
603
612
  }
604
613
  }
605
614
  }
606
- async #cancel(flushViaSession) {
615
+ /** Close from within the update loop, which {@link close} would wait on -- it is our own caller. */
616
+ async #closeFromUpdate() {
617
+ if (this.#isClosed) {
618
+ return;
619
+ }
620
+ this.#isClosed = true;
621
+ await this.#cancel();
622
+ }
623
+ /** Whether our in-flight update is sending on this exchange, making it this close's own caller. */
624
+ #isSendingOn(currentExchange) {
625
+ return currentExchange !== void 0 && currentExchange === this.#currentSendExchange;
626
+ }
627
+ async #cancel(flushViaSession, currentExchange) {
607
628
  const closing = this.#lifetime?.closing();
608
629
  this.#sendUpdatesActivated = false;
609
630
  this.#changeHandlers.close();
@@ -611,7 +632,7 @@ class ServerSubscription {
611
632
  var _stack = [];
612
633
  try {
613
634
  const _flushing = __using(_stack, closing?.join("flushing"));
614
- await this.#flush(flushViaSession);
635
+ await this.#flush(flushViaSession, currentExchange);
615
636
  } catch (_) {
616
637
  var _error = _, _hasError = true;
617
638
  } finally {
@@ -725,14 +746,14 @@ class ServerSubscription {
725
746
  var _stack3 = [];
726
747
  try {
727
748
  if (StatusResponseError.is(error, Status.InvalidSubscription, Status.Failure)) {
728
- logger.notice(`Subscription ${this.idStr} cancelled by peer`);
729
- this.#isCanceledByPeer = true;
749
+ logger.notice(`Subscription ${this.idStr} reported invalid by peer`);
750
+ this.#isTerminated = true;
730
751
  } else {
731
752
  StatusResponseError.accept(error);
732
753
  logger.info(`Subscription ${this.idStr} update failed:`, error);
733
754
  }
734
755
  const _canceling = __using(_stack3, lifetime?.join("canceling"));
735
- await this.#cancel();
756
+ await this.#closeFromUpdate();
736
757
  } catch (_3) {
737
758
  var _error3 = _3, _hasError3 = true;
738
759
  } finally {
@@ -741,9 +762,9 @@ class ServerSubscription {
741
762
  } finally {
742
763
  var _stack4 = [];
743
764
  try {
744
- this.#currentSendExchange = void 0;
745
765
  const _closing = __using(_stack4, lifetime?.join("closing messenger"));
746
766
  await messenger.close();
767
+ this.#currentSendExchange = void 0;
747
768
  } catch (_4) {
748
769
  var _error4 = _4, _hasError4 = true;
749
770
  } finally {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/ServerSubscription.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ServerSubscriptionConfig", "_stack", "_", "_error", "_hasError"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.17.7",
3
+ "version": "0.17.8-alpha.0-20260801-92169d0aa",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,14 +36,14 @@
36
36
  "#*": "./src/*"
37
37
  },
38
38
  "dependencies": {
39
- "@matter/general": "0.17.7",
40
- "@matter/model": "0.17.7",
41
- "@matter/types": "0.17.7",
42
- "@matter/protocol": "0.17.7"
39
+ "@matter/general": "0.17.8-alpha.0-20260801-92169d0aa",
40
+ "@matter/model": "0.17.8-alpha.0-20260801-92169d0aa",
41
+ "@matter/types": "0.17.8-alpha.0-20260801-92169d0aa",
42
+ "@matter/protocol": "0.17.8-alpha.0-20260801-92169d0aa"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@nacho-iot/js-tools": "^0.1.7",
46
- "@matter/testing": "0.17.7"
46
+ "@matter/testing": "0.17.8-alpha.0-20260801-92169d0aa"
47
47
  },
48
48
  "files": [
49
49
  "dist/**/*",
@@ -165,6 +165,7 @@ export class SoftwareUpdateManager extends Behavior {
165
165
  await this.internal.otaService.construction;
166
166
 
167
167
  this.reactTo(rootNode.lifecycle.online, this.#nodeOnline);
168
+ this.reactTo(rootNode.lifecycle.goingOffline, this.#nodeGoingOffline);
168
169
  if (rootNode.lifecycle.isOnline) {
169
170
  await this.#nodeOnline();
170
171
  }
@@ -174,6 +175,7 @@ export class SoftwareUpdateManager extends Behavior {
174
175
  }
175
176
 
176
177
  async #nodeOnline() {
178
+ this.internal.suppressUpdates = false;
177
179
  if (this.internal.announcements !== undefined) {
178
180
  await this.internal.announcements.close();
179
181
  this.internal.announcements = undefined;
@@ -204,6 +206,16 @@ export class SoftwareUpdateManager extends Behavior {
204
206
  ).start();
205
207
  }
206
208
 
209
+ async #nodeGoingOffline() {
210
+ this.internal.suppressUpdates = true;
211
+ this.internal.checkForUpdateTimer?.stop();
212
+
213
+ // Announcements run on their own timers and write to peers, so the suppression flag alone does not stop them.
214
+ // #nodeOnline installs a fresh instance.
215
+ await this.internal.announcements?.close();
216
+ this.internal.announcements = undefined;
217
+ }
218
+
207
219
  #updateAnnouncementSettings() {
208
220
  if (this.internal.announcements === undefined) {
209
221
  return;
@@ -481,7 +493,7 @@ export class SoftwareUpdateManager extends Behavior {
481
493
  // Collect all client nodes and their versions, so we only need to check each version once
482
494
  const updateDetails = new Map<string, CollectedNodesUpdateInfo>();
483
495
  for (const peer of rootNode.peers) {
484
- if (this.internal.closed) {
496
+ if (this.internal.suppressUpdates) {
485
497
  return [];
486
498
  }
487
499
  if (peerToCheck !== undefined && peerToCheck !== peer) {
@@ -512,7 +524,7 @@ export class SoftwareUpdateManager extends Behavior {
512
524
 
513
525
  const peersWithUpdates = new Array<{ peerAddress: PeerAddress; info: SoftwareUpdateInfo }>();
514
526
  for (const infos of updateDetails.values()) {
515
- if (this.internal.closed) {
527
+ if (this.internal.suppressUpdates) {
516
528
  return [];
517
529
  }
518
530
  try {
@@ -550,7 +562,7 @@ export class SoftwareUpdateManager extends Behavior {
550
562
  includeStoredUpdates,
551
563
  isProduction: this.state.allowTestOtaImages ? undefined : true,
552
564
  });
553
- if (!updateDetails || this.internal.closed) {
565
+ if (!updateDetails || this.internal.suppressUpdates) {
554
566
  return [];
555
567
  }
556
568
  const fd = await this.internal.otaService.downloadUpdate(updateDetails);
@@ -589,7 +601,7 @@ export class SoftwareUpdateManager extends Behavior {
589
601
  consent.peerAddress.fabricIndex === peerAddress.fabricIndex &&
590
602
  consent.peerAddress.nodeId === peerAddress.nodeId,
591
603
  );
592
- if (this.internal.closed) {
604
+ if (this.internal.suppressUpdates) {
593
605
  break;
594
606
  }
595
607
  if (hasConsent) {
@@ -791,7 +803,7 @@ export class SoftwareUpdateManager extends Behavior {
791
803
  * monitor for stalled updates.
792
804
  */
793
805
  #triggerQueuedUpdate() {
794
- if (this.internal.closed) {
806
+ if (this.internal.suppressUpdates) {
795
807
  return;
796
808
  }
797
809
  const now = Time.nowMs;
@@ -850,7 +862,7 @@ export class SoftwareUpdateManager extends Behavior {
850
862
  * The node usually calls queryImage as a result of this when it processes the announcement.
851
863
  */
852
864
  async #triggerUpdateOnNode(entry: UpdateQueueEntry) {
853
- if (this.internal.announcements == undefined) {
865
+ if (this.internal.announcements === undefined) {
854
866
  logger.info(`Not yet initialized with peers, can not trigger update on node`, entry.peerAddress);
855
867
  return;
856
868
  }
@@ -1082,7 +1094,7 @@ export class SoftwareUpdateManager extends Behavior {
1082
1094
  * messages, and triggers the necessary events.
1083
1095
  */
1084
1096
  onOtaStatusChange(peerAddress: PeerAddress, status: OtaUpdateStatus, toVersion?: number) {
1085
- if (this.internal.closed) {
1097
+ if (this.internal.suppressUpdates) {
1086
1098
  // A post-dispose Applying would otherwise re-arm the already-disposed armer whose observers are
1087
1099
  // closed, leaving an entry that never gets a grace timer nor self-cleans.
1088
1100
  return;
@@ -1145,7 +1157,7 @@ export class SoftwareUpdateManager extends Behavior {
1145
1157
  }
1146
1158
 
1147
1159
  override async [Symbol.asyncDispose]() {
1148
- this.internal.closed = true;
1160
+ this.internal.suppressUpdates = true;
1149
1161
  this.internal.checkForUpdateTimer?.stop();
1150
1162
  this.internal.updateQueueTimer?.stop();
1151
1163
  await this.internal.announcements?.close();
@@ -1200,7 +1212,8 @@ export namespace SoftwareUpdateManager {
1200
1212
 
1201
1213
  rebootResubscribeArmer?: RebootResubscribeArmer;
1202
1214
 
1203
- closed = false;
1215
+ /** Raised whenever the node is not online, so update work cannot start before the first online transition. */
1216
+ suppressUpdates = true;
1204
1217
  }
1205
1218
 
1206
1219
  export class Events extends EventEmitter {