@matter/node 0.18.0-alpha.0-20261019-7470391f7 → 0.18.0
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.
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.js +5 -1
- package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/cjs/node/integration/ChangeNotificationService.d.ts +3 -0
- package/dist/cjs/node/integration/ChangeNotificationService.d.ts.map +1 -1
- package/dist/cjs/node/integration/ChangeNotificationService.js +22 -1
- package/dist/cjs/node/integration/ChangeNotificationService.js.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.js +5 -1
- package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/esm/node/integration/ChangeNotificationService.d.ts +3 -0
- package/dist/esm/node/integration/ChangeNotificationService.d.ts.map +1 -1
- package/dist/esm/node/integration/ChangeNotificationService.js +23 -2
- package/dist/esm/node/integration/ChangeNotificationService.js.map +1 -1
- package/package.json +6 -6
- package/src/behavior/system/network/NetworkClient.ts +9 -1
- package/src/node/integration/ChangeNotificationService.ts +28 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAsC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAGlB,SAAS,EAGT,KAAK,IAAI,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzC,SAAiB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,SAAiB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,UAAU,SAsBlB;IAEc,OAAO,
|
|
1
|
+
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAsC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAGlB,SAAS,EAGT,KAAK,IAAI,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzC,SAAiB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,SAAiB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,UAAU,SAsBlB;IAEc,OAAO,kBAgDrB;IAqPD;;;;OAIG;IACH,IAAI,kBAAkB,QAMrB;IAqGc,CAAC,MAAM,CAAC,YAAY,CAAC,kBAEnC;IAuBD;;OAEG;IACH,gBAAyB,MAAM,gBAyC5B;CACN;AAQD,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAS,SAAQ,eAAe,CAAC,QAAQ;QAC1C,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAEvC;;WAEG;QACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QAExC;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B;;;WAGG;QACH,mBAAmB,QAAmB;QAEtC;;;;;;WAMG;QACH,mBAAmB,UAAS;QAE5B;;;;WAIG;QACH,aAAa,UAAS;QAEtB;;;WAGG;QACH,IAAI,CAAC,EAAE,IAAI,CAAC;QAEZ,4CAA4C;QAC5C,qBAAqB,UAAS;QAE9B;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;QAEjC;;;WAGG;QACH,mBAAmB,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,MAAa,KAAM,SAAQ,eAAe,CAAC,KAAK;QAC5C;;;;;;;;;;;;;;;;;WAiBG;QACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;QAEpD;;;;;WAKG;QACH,UAAU,UAAS;QAEnB;;;;;;;WAOG;QACH,aAAa,UAAS;QAEtB;;;WAGG;QACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAE9B;;;WAGG;QACH,cAAc,cAAkB;QAEhC;;;WAGG;QACH,mBAAmB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;KACvC;IAED,MAAa,MAAO,SAAQ,eAAe,CAAC,MAAM;QAC9C,qBAAqB,wDAAyD;QAC9E,2BAA2B,oFAAqF;QAChH,kBAAkB,wDAAyD;QAC3E,yBAAyB,wCAAyC;QAClE,iBAAiB,uBAAwB;KAC5C;CACJ"}
|
|
@@ -75,6 +75,7 @@ class NetworkClient extends import_NetworkBehavior.NetworkBehavior {
|
|
|
75
75
|
this.reactTo(peer.establishmentUnresponsive, this.#markLikelyOffline, { offline: true });
|
|
76
76
|
this.reactTo(peer.sessions.added, this.#onSessionEstablished, { offline: true });
|
|
77
77
|
this.reactTo(peer.sessions.deleted, this.#recomputeConnectionState, { offline: true });
|
|
78
|
+
this.reactTo(peer.service.changed, this.#recomputeConnectionState, { offline: true });
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
}
|
|
@@ -318,7 +319,7 @@ class NetworkClient extends import_NetworkBehavior.NetworkBehavior {
|
|
|
318
319
|
} else if (this.state.isDisabled || lifecycle.shouldBeOffline) {
|
|
319
320
|
this.internal.likelyOffline = false;
|
|
320
321
|
state = import_ClientNodeLifecycle.NodeConnectionState.Disconnected;
|
|
321
|
-
} else if (this.internal.likelyOffline) {
|
|
322
|
+
} else if (this.internal.likelyOffline || peer !== void 0 && !hasAnyAddress(peer)) {
|
|
322
323
|
state = import_ClientNodeLifecycle.NodeConnectionState.WaitingForDeviceDiscovery;
|
|
323
324
|
} else {
|
|
324
325
|
state = import_ClientNodeLifecycle.NodeConnectionState.Reconnecting;
|
|
@@ -444,6 +445,9 @@ class NetworkClient extends import_NetworkBehavior.NetworkBehavior {
|
|
|
444
445
|
]
|
|
445
446
|
});
|
|
446
447
|
}
|
|
448
|
+
function hasAnyAddress(peer) {
|
|
449
|
+
return peer.sessions.size > 0 || peer.descriptor.operationalAddress !== void 0 || peer.service.addresses.size > 0;
|
|
450
|
+
}
|
|
447
451
|
((NetworkClient2) => {
|
|
448
452
|
class Internal extends import_NetworkBehavior.NetworkBehavior.Internal {
|
|
449
453
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/behavior/system/network/NetworkClient.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAA0B;AAC1B,qCAA6C;AAC7C,mCAAsC;AACtC,0CAA6C;AAC7C,6BAAgC;AAEhC,iCAAoC;AACpC,kBAAqB;AACrB,+BAAkC;AAClC,qBAAoF;AACpF,mBAA4C;AAC5C,sBASO;AACP,mBAA4B;AAC5B,IAAAA,kCAAuC;AAIvC,6BAAgC;AAhChC;AAAA;AAAA;AAAA;AAAA;AA8BA,MAAM,SAAS,sBAAO,IAAI,eAAe;AAIlC,MAAM,sBAAsB,uCAAgB;AAAA,EAKtC,aAAa;AAClB,QAAI,KAAK,MAAM,aAAa,SAAS;AAEjC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,MAAM,sBAAsB;AAAA,IACrC,OAAO;AACH,WAAK,QAAQ,KAAK,OAAO,uBAAuB,KAAK,4BAA4B,EAAE,SAAS,KAAK,CAAC;AAClG,WAAK,QAAQ,KAAK,OAAO,6BAA6B,KAAK,kCAAkC;AAAA,QACzF,SAAS;AAAA,MACb,CAAC;AACD,WAAK,QAAQ,KAAK,OAAO,2BAA2B,KAAK,uBAAuB;AAEhF,WAAK,SAAS,sBAAsB,KAAK,cAAc,KAAK,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAEhG,WAAK,QAAQ,KAAK,OAAO,2BAA2B,KAAK,yBAAyB;AAClF,WAAK,QAAQ,KAAK,OAAO,oBAAoB,KAAK,yBAAyB;AAC3E,WAAK,QAAQ,KAAK,MAAM,UAAU,gBAAgB,KAAK,yBAAyB;AAChF,WAAK,QAAQ,KAAK,MAAM,UAAU,cAAc,KAAK,yBAAyB;AAG9E,WAAK,QAAQ,KAAK,OAAO,mBAAmB,KAAK,uBAAuB,EAAE,SAAS,KAAK,CAAC;AAAA,IAC7F;AAAA,EACJ;AAAA,EAEA,MAAe,UAAU;AACrB,UAAM,cAAc,KAAK,MAAM,MAAM,cAAc;AACnD,QAAI,gBAAgB,QAAW;AAC3B,YAAM,UAAU,KAAK,IAAI,IAAI,uBAAO;AACpC,YAAM,OAAO,QAAQ,IAAI,WAAW;AACpC,UAAI,MAAM;AACN,aAAK,WAAW,KAAK,MAAM;AAC3B,aAAK,yBAAqB,kEAA6B,KAAK,KAAK;AAKjE,cAAM,OACF,KAAK,MAAM,uBACV,KAAK,MAAM,OAAO,OAAkD,SAAS;AAClF,aAAK,sBAAsB,SAAS,QAAQ,2BAAY,MAAM;AAE9D,YAAI,KAAK,MAAM,aAAa,SAAS;AACjC,eAAK,SAAS,OAAO;AAGrB,eAAK,QAAQ,KAAK,2BAA2B,KAAK,oBAAoB,EAAE,SAAS,KAAK,CAAC;AACvF,eAAK,QAAQ,KAAK,SAAS,OAAO,KAAK,uBAAuB,EAAE,SAAS,KAAK,CAAC;AAC/E,eAAK,QAAQ,KAAK,SAAS,SAAS,KAAK,2BAA2B,EAAE,SAAS,KAAK,CAAC;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["import_operational_credentials", "NetworkClient"]
|
|
6
6
|
}
|
|
@@ -19,6 +19,9 @@ import { EventNumber, Priority } from "@matter/types";
|
|
|
19
19
|
*
|
|
20
20
|
* The service reports nothing once its node begins destruction. Destruction destroys every endpoint, peers included,
|
|
21
21
|
* and that teardown is not a removal of the endpoints.
|
|
22
|
+
*
|
|
23
|
+
* An observer that throws is logged; the remaining observers still receive the change, and the code that made the
|
|
24
|
+
* change does not see the error.
|
|
22
25
|
*/
|
|
23
26
|
export declare class ChangeNotificationService {
|
|
24
27
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangeNotificationService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ChangeNotificationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"ChangeNotificationService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ChangeNotificationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAqB,UAAU,EAA2B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB;;IASlC,YAAY,IAAI,EAAE,UAAU,EAc3B;IAoBD;;OAEG;IACH,IAAI,MAAM,kEAET;IAED;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,QAS7D;IAED;;OAEG;IACH,cAAc,CACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EACvB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,yBAAyB,CAAC,oBAAoB,QAS7D;IAED,KAAK,SAMJ;CA+BJ;AA0GD,yBAAiB,yBAAyB,CAAC;IACvC,KAAY,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB;IAED;;;;;OAKG;IACH,KAAY,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;IAEhF,UAAiB,oBAAoB;QACjC,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;KACxB;IAED;;OAEG;IACH,UAAiB,eAAgB,SAAQ,oBAAoB;QACzD,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,UAAU,CAAC;KACrB;IAED;;;;;OAKG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;KACtB;IAED;;;;;OAKG;IACH,UAAiB,gBAAgB;QAC7B,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE,QAAQ,CAAC;KACtB;IAED,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,gBAAgB,CAAC;CAC7F"}
|
|
@@ -28,8 +28,12 @@ var import_general = require("@matter/general");
|
|
|
28
28
|
* Copyright 2022-2026 Matter.js Authors
|
|
29
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
30
|
*/
|
|
31
|
+
const logger = import_general.Logger.get("ChangeNotificationService");
|
|
31
32
|
class ChangeNotificationService {
|
|
32
|
-
#change = new import_general.Observable(
|
|
33
|
+
#change = new import_general.Observable(
|
|
34
|
+
(error, observer) => this.#observerFailed(error, observer)
|
|
35
|
+
);
|
|
36
|
+
#observerFailureKinds = /* @__PURE__ */ new WeakMap();
|
|
33
37
|
#nodeDestroying = false;
|
|
34
38
|
#nodeObservers = /* @__PURE__ */ new Map();
|
|
35
39
|
#observers = new import_general.ObserverGroup();
|
|
@@ -46,6 +50,23 @@ class ChangeNotificationService {
|
|
|
46
50
|
node.lifecycle.ready.once(() => this.#beginPeerObservation(node));
|
|
47
51
|
}
|
|
48
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* A peer can trigger the same observer failure with every report, so only the first failure of each kind per
|
|
55
|
+
* observer is a warning.
|
|
56
|
+
*/
|
|
57
|
+
#observerFailed(error, observer) {
|
|
58
|
+
let kinds = this.#observerFailureKinds.get(observer);
|
|
59
|
+
if (kinds === void 0) {
|
|
60
|
+
kinds = /* @__PURE__ */ new Set();
|
|
61
|
+
this.#observerFailureKinds.set(observer, kinds);
|
|
62
|
+
}
|
|
63
|
+
if (kinds.has(error.constructor)) {
|
|
64
|
+
logger.debug("Change notification observer failed:", error);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
kinds.add(error.constructor);
|
|
68
|
+
logger.warn("Change notification observer failed; repeats log at debug level:", error);
|
|
69
|
+
}
|
|
49
70
|
/**
|
|
50
71
|
* Change event source.
|
|
51
72
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/integration/ChangeNotificationService.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,+BAAkC;AAGlC,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAsC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAGlB,SAAS,EAGT,KAAK,IAAI,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzC,SAAiB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,SAAiB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,UAAU,SAsBlB;IAEc,OAAO,
|
|
1
|
+
{"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAsC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAGlB,SAAS,EAGT,KAAK,IAAI,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACzC,SAAiB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5C,SAAiB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,UAAU,SAsBlB;IAEc,OAAO,kBAgDrB;IAqPD;;;;OAIG;IACH,IAAI,kBAAkB,QAMrB;IAqGc,CAAC,MAAM,CAAC,YAAY,CAAC,kBAEnC;IAuBD;;OAEG;IACH,gBAAyB,MAAM,gBAyC5B;CACN;AAQD,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAS,SAAQ,eAAe,CAAC,QAAQ;QAC1C,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAEvC;;WAEG;QACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QAExC;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B;;;WAGG;QACH,mBAAmB,QAAmB;QAEtC;;;;;;WAMG;QACH,mBAAmB,UAAS;QAE5B;;;;WAIG;QACH,aAAa,UAAS;QAEtB;;;WAGG;QACH,IAAI,CAAC,EAAE,IAAI,CAAC;QAEZ,4CAA4C;QAC5C,qBAAqB,UAAS;QAE9B;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;QAEjC;;;WAGG;QACH,mBAAmB,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,MAAa,KAAM,SAAQ,eAAe,CAAC,KAAK;QAC5C;;;;;;;;;;;;;;;;;WAiBG;QACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;QAEpD;;;;;WAKG;QACH,UAAU,UAAS;QAEnB;;;;;;;WAOG;QACH,aAAa,UAAS;QAEtB;;;WAGG;QACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAE9B;;;WAGG;QACH,cAAc,cAAkB;QAEhC;;;WAGG;QACH,mBAAmB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;KACvC;IAED,MAAa,MAAO,SAAQ,eAAe,CAAC,MAAM;QAC9C,qBAAqB,wDAAyD;QAC9E,2BAA2B,oFAAqF;QAChH,kBAAkB,wDAAyD;QAC3E,yBAAyB,wCAAyC;QAClE,iBAAiB,uBAAwB;KAC5C;CACJ"}
|
|
@@ -58,6 +58,7 @@ class NetworkClient extends NetworkBehavior {
|
|
|
58
58
|
this.reactTo(peer.establishmentUnresponsive, this.#markLikelyOffline, { offline: true });
|
|
59
59
|
this.reactTo(peer.sessions.added, this.#onSessionEstablished, { offline: true });
|
|
60
60
|
this.reactTo(peer.sessions.deleted, this.#recomputeConnectionState, { offline: true });
|
|
61
|
+
this.reactTo(peer.service.changed, this.#recomputeConnectionState, { offline: true });
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
}
|
|
@@ -301,7 +302,7 @@ class NetworkClient extends NetworkBehavior {
|
|
|
301
302
|
} else if (this.state.isDisabled || lifecycle.shouldBeOffline) {
|
|
302
303
|
this.internal.likelyOffline = false;
|
|
303
304
|
state = NodeConnectionState.Disconnected;
|
|
304
|
-
} else if (this.internal.likelyOffline) {
|
|
305
|
+
} else if (this.internal.likelyOffline || peer !== void 0 && !hasAnyAddress(peer)) {
|
|
305
306
|
state = NodeConnectionState.WaitingForDeviceDiscovery;
|
|
306
307
|
} else {
|
|
307
308
|
state = NodeConnectionState.Reconnecting;
|
|
@@ -427,6 +428,9 @@ class NetworkClient extends NetworkBehavior {
|
|
|
427
428
|
]
|
|
428
429
|
});
|
|
429
430
|
}
|
|
431
|
+
function hasAnyAddress(peer) {
|
|
432
|
+
return peer.sessions.size > 0 || peer.descriptor.operationalAddress !== void 0 || peer.service.addresses.size > 0;
|
|
433
|
+
}
|
|
430
434
|
((NetworkClient2) => {
|
|
431
435
|
class Internal extends NetworkBehavior.Internal {
|
|
432
436
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/behavior/system/network/NetworkClient.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAiB;AAC1B,SAAS,oCAAoC;AAC7C,SAAS,6BAA6B;AACtC,SAAS,oCAAoC;AAC7C,SAAS,uBAAuB;AAEhC,SAAS,2BAA2B;AACpC,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,aAAa,eAAe,QAAsB,OAAO,kBAAkB;AACpF,SAAS,eAAe,oBAAoB;AAC5C;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIG;AACP,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AAEvC,MAAM,SAAS,OAAO,IAAI,eAAe;AAEzC,SAAS,uBAAuB;AAEzB,MAAM,sBAAsB,gBAAgB;AAAA,EAKtC,aAAa;AAClB,QAAI,KAAK,MAAM,aAAa,SAAS;AAEjC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,MAAM,sBAAsB;AAAA,IACrC,OAAO;AACH,WAAK,QAAQ,KAAK,OAAO,uBAAuB,KAAK,4BAA4B,EAAE,SAAS,KAAK,CAAC;AAClG,WAAK,QAAQ,KAAK,OAAO,6BAA6B,KAAK,kCAAkC;AAAA,QACzF,SAAS;AAAA,MACb,CAAC;AACD,WAAK,QAAQ,KAAK,OAAO,2BAA2B,KAAK,uBAAuB;AAEhF,WAAK,SAAS,sBAAsB,KAAK,cAAc,KAAK,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAEhG,WAAK,QAAQ,KAAK,OAAO,2BAA2B,KAAK,yBAAyB;AAClF,WAAK,QAAQ,KAAK,OAAO,oBAAoB,KAAK,yBAAyB;AAC3E,WAAK,QAAQ,KAAK,MAAM,UAAU,gBAAgB,KAAK,yBAAyB;AAChF,WAAK,QAAQ,KAAK,MAAM,UAAU,cAAc,KAAK,yBAAyB;AAG9E,WAAK,QAAQ,KAAK,OAAO,mBAAmB,KAAK,uBAAuB,EAAE,SAAS,KAAK,CAAC;AAAA,IAC7F;AAAA,EACJ;AAAA,EAEA,MAAe,UAAU;AACrB,UAAM,cAAc,KAAK,MAAM,MAAM,cAAc;AACnD,QAAI,gBAAgB,QAAW;AAC3B,YAAM,UAAU,KAAK,IAAI,IAAI,OAAO;AACpC,YAAM,OAAO,QAAQ,IAAI,WAAW;AACpC,UAAI,MAAM;AACN,aAAK,WAAW,KAAK,MAAM;AAC3B,aAAK,qBAAqB,6BAA6B,KAAK,KAAK;AAKjE,cAAM,OACF,KAAK,MAAM,uBACV,KAAK,MAAM,OAAO,OAAkD,SAAS;AAClF,aAAK,sBAAsB,SAAS,QAAQ,YAAY,MAAM;AAE9D,YAAI,KAAK,MAAM,aAAa,SAAS;AACjC,eAAK,SAAS,OAAO;AAGrB,eAAK,QAAQ,KAAK,2BAA2B,KAAK,oBAAoB,EAAE,SAAS,KAAK,CAAC;AACvF,eAAK,QAAQ,KAAK,SAAS,OAAO,KAAK,uBAAuB,EAAE,SAAS,KAAK,CAAC;AAC/E,eAAK,QAAQ,KAAK,SAAS,SAAS,KAAK,2BAA2B,EAAE,SAAS,KAAK,CAAC;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["NetworkClient"]
|
|
6
6
|
}
|
|
@@ -19,6 +19,9 @@ import { EventNumber, Priority } from "@matter/types";
|
|
|
19
19
|
*
|
|
20
20
|
* The service reports nothing once its node begins destruction. Destruction destroys every endpoint, peers included,
|
|
21
21
|
* and that teardown is not a removal of the endpoints.
|
|
22
|
+
*
|
|
23
|
+
* An observer that throws is logged; the remaining observers still receive the change, and the code that made the
|
|
24
|
+
* change does not see the error.
|
|
22
25
|
*/
|
|
23
26
|
export declare class ChangeNotificationService {
|
|
24
27
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangeNotificationService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ChangeNotificationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"ChangeNotificationService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ChangeNotificationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAqB,UAAU,EAA2B,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB;;IASlC,YAAY,IAAI,EAAE,UAAU,EAc3B;IAoBD;;OAEG;IACH,IAAI,MAAM,kEAET;IAED;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,QAS7D;IAED;;OAEG;IACH,cAAc,CACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EACvB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,yBAAyB,CAAC,oBAAoB,QAS7D;IAED,KAAK,SAMJ;CA+BJ;AA0GD,yBAAiB,yBAAyB,CAAC;IACvC,KAAY,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB;IAED;;;;;OAKG;IACH,KAAY,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;IAEhF,UAAiB,oBAAoB;QACjC,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;QACrB,aAAa,EAAE,aAAa,CAAC;QAC7B,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;KACxB;IAED;;OAEG;IACH,UAAiB,eAAgB,SAAQ,oBAAoB;QACzD,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,UAAU,CAAC;KACrB;IAED;;;;;OAKG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;KACtB;IAED;;;;;OAKG;IACH,UAAiB,gBAAgB;QAC7B,IAAI,EAAE,UAAU,CAAC;QACjB,QAAQ,EAAE,QAAQ,CAAC;KACtB;IAED,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,gBAAgB,CAAC;CAC7F"}
|
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { EndpointLifecycle } from "#endpoint/properties/EndpointLifecycle.js";
|
|
7
|
-
import { Lifecycle, Observable, ObserverGroup } from "@matter/general";
|
|
7
|
+
import { Lifecycle, Logger, Observable, ObserverGroup } from "@matter/general";
|
|
8
|
+
const logger = Logger.get("ChangeNotificationService");
|
|
8
9
|
class ChangeNotificationService {
|
|
9
|
-
#change = new Observable(
|
|
10
|
+
#change = new Observable(
|
|
11
|
+
(error, observer) => this.#observerFailed(error, observer)
|
|
12
|
+
);
|
|
13
|
+
#observerFailureKinds = /* @__PURE__ */ new WeakMap();
|
|
10
14
|
#nodeDestroying = false;
|
|
11
15
|
#nodeObservers = /* @__PURE__ */ new Map();
|
|
12
16
|
#observers = new ObserverGroup();
|
|
@@ -23,6 +27,23 @@ class ChangeNotificationService {
|
|
|
23
27
|
node.lifecycle.ready.once(() => this.#beginPeerObservation(node));
|
|
24
28
|
}
|
|
25
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* A peer can trigger the same observer failure with every report, so only the first failure of each kind per
|
|
32
|
+
* observer is a warning.
|
|
33
|
+
*/
|
|
34
|
+
#observerFailed(error, observer) {
|
|
35
|
+
let kinds = this.#observerFailureKinds.get(observer);
|
|
36
|
+
if (kinds === void 0) {
|
|
37
|
+
kinds = /* @__PURE__ */ new Set();
|
|
38
|
+
this.#observerFailureKinds.set(observer, kinds);
|
|
39
|
+
}
|
|
40
|
+
if (kinds.has(error.constructor)) {
|
|
41
|
+
logger.debug("Change notification observer failed:", error);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
kinds.add(error.constructor);
|
|
45
|
+
logger.warn("Change notification observer failed; repeats log at debug level:", error);
|
|
46
|
+
}
|
|
26
47
|
/**
|
|
27
48
|
* Change event source.
|
|
28
49
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/integration/ChangeNotificationService.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,yBAAyB;AAGlC,SAAS,WAAW,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.18.0
|
|
3
|
+
"version": "0.18.0",
|
|
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.18.0
|
|
40
|
-
"@matter/model": "0.18.0
|
|
41
|
-
"@matter/types": "0.18.0
|
|
42
|
-
"@matter/protocol": "0.18.0
|
|
39
|
+
"@matter/general": "0.18.0",
|
|
40
|
+
"@matter/model": "0.18.0",
|
|
41
|
+
"@matter/types": "0.18.0",
|
|
42
|
+
"@matter/protocol": "0.18.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@nacho-iot/js-tools": "^0.2.0",
|
|
46
|
-
"@matter/testing": "0.18.0
|
|
46
|
+
"@matter/testing": "0.18.0"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"dist/**/*",
|
|
@@ -85,6 +85,7 @@ export class NetworkClient extends NetworkBehavior {
|
|
|
85
85
|
this.reactTo(peer.establishmentUnresponsive, this.#markLikelyOffline, { offline: true });
|
|
86
86
|
this.reactTo(peer.sessions.added, this.#onSessionEstablished, { offline: true });
|
|
87
87
|
this.reactTo(peer.sessions.deleted, this.#recomputeConnectionState, { offline: true });
|
|
88
|
+
this.reactTo(peer.service.changed, this.#recomputeConnectionState, { offline: true });
|
|
88
89
|
}
|
|
89
90
|
}
|
|
90
91
|
}
|
|
@@ -386,7 +387,8 @@ export class NetworkClient extends NetworkBehavior {
|
|
|
386
387
|
// resume in WaitingForDeviceDiscovery before any fresh session.
|
|
387
388
|
this.internal.likelyOffline = false;
|
|
388
389
|
state = NodeConnectionState.Disconnected;
|
|
389
|
-
} else if (this.internal.likelyOffline) {
|
|
390
|
+
} else if (this.internal.likelyOffline || (peer !== undefined && !hasAnyAddress(peer))) {
|
|
391
|
+
// With no address to try, establishmentUnresponsive never fires to mark the peer offline
|
|
390
392
|
state = NodeConnectionState.WaitingForDeviceDiscovery;
|
|
391
393
|
} else {
|
|
392
394
|
state = NodeConnectionState.Reconnecting;
|
|
@@ -536,6 +538,12 @@ export class NetworkClient extends NetworkBehavior {
|
|
|
536
538
|
});
|
|
537
539
|
}
|
|
538
540
|
|
|
541
|
+
function hasAnyAddress(peer: Peer) {
|
|
542
|
+
return (
|
|
543
|
+
peer.sessions.size > 0 || peer.descriptor.operationalAddress !== undefined || peer.service.addresses.size > 0
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
|
|
539
547
|
export namespace NetworkClient {
|
|
540
548
|
export class Internal extends NetworkBehavior.Internal {
|
|
541
549
|
declare runtime?: ClientNetworkRuntime;
|
|
@@ -11,11 +11,13 @@ import type { Endpoint } from "#endpoint/Endpoint.js";
|
|
|
11
11
|
import { EndpointLifecycle } from "#endpoint/properties/EndpointLifecycle.js";
|
|
12
12
|
import type { Node } from "#node/Node.js";
|
|
13
13
|
import type { ServerNode } from "#node/ServerNode.js";
|
|
14
|
-
import { Lifecycle, Observable, ObserverGroup, Timestamp } from "@matter/general";
|
|
14
|
+
import { Lifecycle, Logger, Observable, Observer, ObserverGroup, Timestamp } from "@matter/general";
|
|
15
15
|
import { EventModel } from "@matter/model";
|
|
16
16
|
import { Val } from "@matter/protocol";
|
|
17
17
|
import { EventNumber, Priority } from "@matter/types";
|
|
18
18
|
|
|
19
|
+
const logger = Logger.get("ChangeNotificationService");
|
|
20
|
+
|
|
19
21
|
/**
|
|
20
22
|
* High-level change notification service.
|
|
21
23
|
*
|
|
@@ -24,9 +26,15 @@ import { EventNumber, Priority } from "@matter/types";
|
|
|
24
26
|
*
|
|
25
27
|
* The service reports nothing once its node begins destruction. Destruction destroys every endpoint, peers included,
|
|
26
28
|
* and that teardown is not a removal of the endpoints.
|
|
29
|
+
*
|
|
30
|
+
* An observer that throws is logged; the remaining observers still receive the change, and the code that made the
|
|
31
|
+
* change does not see the error.
|
|
27
32
|
*/
|
|
28
33
|
export class ChangeNotificationService {
|
|
29
|
-
#change = new Observable<[changes: ChangeNotificationService.Change]>()
|
|
34
|
+
#change = new Observable<[changes: ChangeNotificationService.Change]>((error, observer) =>
|
|
35
|
+
this.#observerFailed(error, observer),
|
|
36
|
+
);
|
|
37
|
+
#observerFailureKinds = new WeakMap<Observer<any[], any>, Set<Function>>();
|
|
30
38
|
#nodeDestroying = false;
|
|
31
39
|
#nodeObservers = new Map<Node, NodeObserver>();
|
|
32
40
|
#observers = new ObserverGroup();
|
|
@@ -47,6 +55,24 @@ export class ChangeNotificationService {
|
|
|
47
55
|
}
|
|
48
56
|
}
|
|
49
57
|
|
|
58
|
+
/**
|
|
59
|
+
* A peer can trigger the same observer failure with every report, so only the first failure of each kind per
|
|
60
|
+
* observer is a warning.
|
|
61
|
+
*/
|
|
62
|
+
#observerFailed(error: Error, observer: Observer<any[], any>) {
|
|
63
|
+
let kinds = this.#observerFailureKinds.get(observer);
|
|
64
|
+
if (kinds === undefined) {
|
|
65
|
+
kinds = new Set();
|
|
66
|
+
this.#observerFailureKinds.set(observer, kinds);
|
|
67
|
+
}
|
|
68
|
+
if (kinds.has(error.constructor)) {
|
|
69
|
+
logger.debug("Change notification observer failed:", error);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
kinds.add(error.constructor);
|
|
73
|
+
logger.warn("Change notification observer failed; repeats log at debug level:", error);
|
|
74
|
+
}
|
|
75
|
+
|
|
50
76
|
/**
|
|
51
77
|
* Change event source.
|
|
52
78
|
*/
|