@matter/protocol 0.12.0-alpha.0-20250107-af5a068c3 → 0.12.0-alpha.0-20250110-6349da2f0

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 (54) hide show
  1. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  2. package/dist/cjs/interaction/ServerSubscription.js +7 -3
  3. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  4. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +3 -3
  5. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -1
  6. package/dist/cjs/mdns/MdnsBroadcaster.js +55 -31
  7. package/dist/cjs/mdns/MdnsBroadcaster.js.map +1 -1
  8. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
  9. package/dist/cjs/mdns/MdnsScanner.js +226 -28
  10. package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
  11. package/dist/cjs/mdns/MdnsServer.d.ts +5 -1
  12. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  13. package/dist/cjs/mdns/MdnsServer.js +12 -7
  14. package/dist/cjs/mdns/MdnsServer.js.map +1 -1
  15. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  16. package/dist/cjs/peer/ControllerCommissioningFlow.js +35 -2
  17. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  18. package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
  19. package/dist/cjs/protocol/DeviceAdvertiser.js +6 -1
  20. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  21. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  22. package/dist/cjs/protocol/DeviceCommissioner.js +5 -1
  23. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  24. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  25. package/dist/esm/interaction/ServerSubscription.js +7 -3
  26. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  27. package/dist/esm/mdns/MdnsBroadcaster.d.ts +3 -3
  28. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -1
  29. package/dist/esm/mdns/MdnsBroadcaster.js +56 -31
  30. package/dist/esm/mdns/MdnsBroadcaster.js.map +1 -1
  31. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
  32. package/dist/esm/mdns/MdnsScanner.js +226 -28
  33. package/dist/esm/mdns/MdnsScanner.js.map +1 -1
  34. package/dist/esm/mdns/MdnsServer.d.ts +5 -1
  35. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  36. package/dist/esm/mdns/MdnsServer.js +12 -7
  37. package/dist/esm/mdns/MdnsServer.js.map +1 -1
  38. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  39. package/dist/esm/peer/ControllerCommissioningFlow.js +36 -3
  40. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  41. package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
  42. package/dist/esm/protocol/DeviceAdvertiser.js +6 -1
  43. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  44. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  45. package/dist/esm/protocol/DeviceCommissioner.js +5 -1
  46. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  47. package/package.json +6 -6
  48. package/src/interaction/ServerSubscription.ts +7 -3
  49. package/src/mdns/MdnsBroadcaster.ts +63 -35
  50. package/src/mdns/MdnsScanner.ts +264 -43
  51. package/src/mdns/MdnsServer.ts +20 -7
  52. package/src/peer/ControllerCommissioningFlow.ts +48 -3
  53. package/src/protocol/DeviceAdvertiser.ts +7 -1
  54. package/src/protocol/DeviceCommissioner.ts +11 -2
@@ -65,6 +65,9 @@ export class DeviceAdvertiser {
65
65
  if (this.#context.fabrics.length === 0) {
66
66
  // Last fabric got removed, so expire all announcements
67
67
  await this.#exitOperationalMode();
68
+ } else {
69
+ // At least one fabric is still present, so re-announce
70
+ await this.advertise(true);
68
71
  }
69
72
  });
70
73
 
@@ -164,7 +167,10 @@ export class DeviceAdvertiser {
164
167
  const session = this.#context.sessions.getSessionForNode(fabric.addressOf(fabric.rootNodeId));
165
168
  if (session === undefined || !session.isSecure || session.subscriptions.size === 0) {
166
169
  fabricsWithoutSessions++;
167
- logger.debug("Announcing", Diagnostic.dict({ fabric: fabric.fabricId }));
170
+ logger.debug(
171
+ "Announcing",
172
+ Diagnostic.dict({ fabricIndex: fabric.fabricIndex, fabricId: fabric.fabricId }),
173
+ );
168
174
  }
169
175
  }
170
176
  for (const broadcaster of this.#broadcasters) {
@@ -65,8 +65,17 @@ export class DeviceCommissioner {
65
65
 
66
66
  this.#observers.on(this.#context.advertiser.timedOut, this.endCommissioning);
67
67
 
68
- // If a commissioning window is open then we reannounce this because it was ended as fabric got added
69
- this.#observers.on(this.#context.fabrics.events.deleted, this.reactivateAdvertiser);
68
+ // If a commissioning window is open then we re-announce this because it was ended as fabric got added
69
+ this.#observers.on(this.#context.fabrics.events.deleted, async () => {
70
+ // If a commissioning window is open, or we removed the last fabric, then we re-announce this
71
+ // because it was ended as fabric got added
72
+ if (
73
+ this.#context.fabrics.length === 0 ||
74
+ this.#windowStatus !== AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen
75
+ ) {
76
+ this.reactivateAdvertiser();
77
+ }
78
+ });
70
79
 
71
80
  // No fabric paired yet, so announce as "ready for commissioning"
72
81
  this.#observers.on(this.#context.advertiser.operationalModeEnded, this.allowBasicCommissioning);