@matter-server/dashboard 1.1.1-alpha.0-20260619-cc792b0 → 1.1.1

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 (31) hide show
  1. package/dist/esm/components/dialogs/binding/binding-actions.d.ts.map +1 -1
  2. package/dist/esm/components/dialogs/binding/binding-actions.js +2 -0
  3. package/dist/esm/components/dialogs/binding/binding-actions.js.map +1 -1
  4. package/dist/esm/components/dialogs/binding/node-binding-dialog.js +1 -1
  5. package/dist/esm/components/dialogs/binding/node-binding-dialog.js.map +1 -1
  6. package/dist/esm/pages/cluster-commands/clusters/binding-commands.d.ts.map +1 -1
  7. package/dist/esm/pages/cluster-commands/clusters/binding-commands.js +1 -0
  8. package/dist/esm/pages/cluster-commands/clusters/binding-commands.js.map +1 -1
  9. package/dist/esm/util/binding.d.ts +2 -1
  10. package/dist/esm/util/binding.d.ts.map +1 -1
  11. package/dist/esm/util/binding.js +2 -0
  12. package/dist/esm/util/binding.js.map +1 -1
  13. package/dist/web/js/{attribute-write-dialog-BdRJhTUT.js → attribute-write-dialog-BtlX13v4.js} +1 -1
  14. package/dist/web/js/{command-invoke-dialog-K7sWqmT7.js → command-invoke-dialog-BtP8qgM-.js} +1 -1
  15. package/dist/web/js/{commission-node-dialog-CIrtUBMI.js → commission-node-dialog-cRMHM9mB.js} +5 -5
  16. package/dist/web/js/{commission-node-existing-BXWP_p4z.js → commission-node-existing-BEYUYvJR.js} +2 -2
  17. package/dist/web/js/{commission-node-thread-tiAZFQm-.js → commission-node-thread-D8YofRc7.js} +2 -2
  18. package/dist/web/js/{commission-node-wifi-COPgEzct.js → commission-node-wifi-C75oytnk.js} +2 -2
  19. package/dist/web/js/{dialog-box-BPrL7aG8.js → dialog-box-GO3dAXJL.js} +1 -1
  20. package/dist/web/js/{fire_event-CvJGy-iy.js → fire_event-8K3gg3yd.js} +1 -1
  21. package/dist/web/js/main.js +1 -1
  22. package/dist/web/js/{matter-dashboard-app-BKEbeuif.js → matter-dashboard-app-BB27gQMZ.js} +17 -8
  23. package/dist/web/js/{node-acl-add-dialog-BCWHD3Ke.js → node-acl-add-dialog-DT3GqKYq.js} +1 -1
  24. package/dist/web/js/{node-binding-dialog-B18O4ASU.js → node-binding-dialog-VnKnuV9C.js} +2 -2
  25. package/dist/web/js/{node-label-dialog-CR9VtPvB.js → node-label-dialog-BSb88oAs.js} +1 -1
  26. package/dist/web/js/{settings-dialog-CutA2TKp.js → settings-dialog-DH4tozUK.js} +1 -1
  27. package/package.json +3 -3
  28. package/src/components/dialogs/binding/binding-actions.ts +5 -0
  29. package/src/components/dialogs/binding/node-binding-dialog.ts +7 -7
  30. package/src/pages/cluster-commands/clusters/binding-commands.ts +1 -0
  31. package/src/util/binding.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"binding-actions.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/binding-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqC,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAsEvG,0GAA0G;AAC1G,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,yFAAyF;AACzF,wBAAsB,2BAA2B,CAC7C,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,UAAU,CAC5B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"binding-actions.d.ts","sourceRoot":"","sources":["../../../../../src/components/dialogs/binding/binding-actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqC,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAsEvG,0GAA0G;AAC1G,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,yFAAyF;AACzF,wBAAsB,2BAA2B,CAC7C,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,UAAU,CAC5B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC5B,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -56,6 +56,7 @@ function aclTargetsMax(client, nodeId) {
56
56
  return typeof raw === "number" && raw > 0 ? raw : Number.MAX_SAFE_INTEGER;
57
57
  }
58
58
  async function ensureBindingAcl(client, sourceNodeId, targetNodeId, targetEndpoint, cluster) {
59
+ if (nodeIdKey(targetNodeId) === nodeIdKey(sourceNodeId)) return;
59
60
  const acl = await freshOurAcl(client, targetNodeId);
60
61
  const alreadyGranted = acl.some(
61
62
  (e) => e.authMode === AuthMode.Case && e.privilege >= Privilege.Operate && subjectsInclude(e, sourceNodeId) && entryMatchesTarget(e, targetEndpoint, cluster)
@@ -106,6 +107,7 @@ async function deleteBindingAtIndex(client, sourceNode, sourceEndpoint, index) {
106
107
  const updated = [...bindings.slice(0, index), ...bindings.slice(index + 1)];
107
108
  await client.setNodeBinding(sourceNode.node_id, sourceEndpoint, updated.map(toBindingTarget));
108
109
  if (removed.node == null || removed.endpoint == null) return;
110
+ if (nodeIdKey(removed.node) === nodeIdKey(sourceNode.node_id)) return;
109
111
  const targetEndpoint = removed.endpoint;
110
112
  const removedCluster = removed.cluster;
111
113
  try {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/dialogs/binding/binding-actions.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -43,7 +43,7 @@ let NodeBindingDialog = class extends LitElement {
43
43
  this._busy = false;
44
44
  }
45
45
  _knownNodes() {
46
- return Object.values(this.client.nodes).filter((n) => nodeIdKey(n.node_id) !== nodeIdKey(this.node.node_id)).sort((a, b) => {
46
+ return Object.values(this.client.nodes).sort((a, b) => {
47
47
  const x = BigInt(a.node_id);
48
48
  const y = BigInt(b.node_id);
49
49
  return x < y ? -1 : x > y ? 1 : 0;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/dialogs/binding/node-binding-dialog.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binding-commands.d.ts","sourceRoot":"","sources":["../../../../../src/pages/cluster-commands/clusters/binding-commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAE9C,OAAO,EAAa,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEnF,OAAO,oCAAoC,CAAC;AAe5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE,cACM,sBAAuB,SAAQ,mBAAmB;IACpD,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,UAAU,CAAM;IACf,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAM7C;IAEQ,oBAAoB,SAG5B;YAGa,aAAa;YAyBb,SAAS;IAMvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;YAKL,QAAQ;YAIR,IAAI;YAWJ,OAAO;YAUP,OAAO;IAWZ,MAAM,uCAgCd;IAED,OAAO,CAAC,IAAI;IAiCZ,OAAO,CAAC,QAAQ;IAgBhB,OAAgB,MAAM,EAAE,cAAc,CAqDpC;CACL;AAID,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,0BAA0B,EAAE,sBAAsB,CAAC;KACtD;CACJ"}
1
+ {"version":3,"file":"binding-commands.d.ts","sourceRoot":"","sources":["../../../../../src/pages/cluster-commands/clusters/binding-commands.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,sCAAsC,CAAC;AAE9C,OAAO,EAAa,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEnF,OAAO,oCAAoC,CAAC;AAe5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAKlE,cACM,sBAAuB,SAAQ,mBAAmB;IACpD,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,UAAU,CAAM;IACf,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAM7C;IAEQ,oBAAoB,SAG5B;YAGa,aAAa;YAyBb,SAAS;IAMvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;YAKL,QAAQ;YAIR,IAAI;YAWJ,OAAO;YAUP,OAAO;IAWZ,MAAM,uCAgCd;IAED,OAAO,CAAC,IAAI;IAiCZ,OAAO,CAAC,QAAQ;IAiBhB,OAAgB,MAAM,EAAE,cAAc,CAqDpC;CACL;AAID,OAAO,CAAC,MAAM,CAAC,CAAC;IACZ,UAAU,qBAAqB;QAC3B,0BAA0B,EAAE,sBAAsB,CAAC;KACtD;CACJ"}
@@ -175,6 +175,7 @@ let BindingClusterCommands = class extends BaseClusterCommands {
175
175
  `;
176
176
  }
177
177
  _aclCell(b, state2) {
178
+ if (state2 === "self") return html`<span class="status mut">self — no ACL needed</span>`;
178
179
  if (state2 === "present") return html`<span class="status ok">ACL present</span>`;
179
180
  if (state2 === "cannotVerify") return html`<span class="status mut">can't verify</span>`;
180
181
  const label = state2 === "missing" ? "ACL missing" : "ACL > Operate";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/pages/cluster-commands/clusters/binding-commands.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["state"]
6
6
  }
@@ -19,12 +19,13 @@ export interface BindableClusters {
19
19
  otherTarget: number[];
20
20
  }
21
21
  export declare function bindableClusters(source: MatterNode, sourceEndpoint: number, target: MatterNode, targetEndpoint: number): BindableClusters;
22
- export type ReverseAclState = "present" | "missing" | "overPrivileged" | "cannotVerify";
22
+ export type ReverseAclState = "present" | "missing" | "overPrivileged" | "cannotVerify" | "self";
23
23
  export interface ReverseAclResult {
24
24
  state: ReverseAclState;
25
25
  }
26
26
  /**
27
27
  * Whether the target node's ACL grants the source the access this binding needs:
28
+ * - self: target is the source node itself — no ACL needed
28
29
  * - present: a matching CASE entry at Operate exists
29
30
  * - overPrivileged: the only matching grant is above Operate (Manage/Administer)
30
31
  * - missing: no matching grant (or only below Operate)
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/util/binding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAgB9G,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAIrF;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE,CAWnE;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACvB,gBAAgB,CAUlB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC3B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,GACnC,gBAAgB,CAYlB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,QAAQ,EAAE,UAAU,EAAE,GACvB,kBAAkB,CAiBpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAsBrH"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../../../src/util/binding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAgB9G,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAIrF;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,EAAE,CAWnE;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjF;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,MAAM,GACvB,gBAAgB,CAUlB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,cAAc,GAAG,MAAM,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,UAAU,GAAG,SAAS,GACnC,gBAAgB,CAalB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,QAAQ,EAAE,UAAU,EAAE,GACvB,kBAAkB,CAiBpB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAwBrH"}
@@ -57,6 +57,7 @@ function bindableClusters(source, sourceEndpoint, target, targetEndpoint) {
57
57
  return { bindable, otherTarget };
58
58
  }
59
59
  function reverseAclState(sourceNodeId, binding, targetNode) {
60
+ if (binding.node != null && nodeIdKey(binding.node) === nodeIdKey(sourceNodeId)) return { state: "self" };
60
61
  if (!targetNode || !targetNode.available) return { state: "cannotVerify" };
61
62
  const matching = entriesForFabric(readAclEntries(targetNode), nodeFabricIndex(targetNode)).filter(
62
63
  (e) => e.authMode === AuthMode.Case && subjectsInclude(e, sourceNodeId) && entryMatchesTarget(e, binding.endpoint ?? -1, binding.cluster)
@@ -84,6 +85,7 @@ function detectBindingRelationship(entry, viewedNodeId, allNodes) {
84
85
  return { kind: "none" };
85
86
  }
86
87
  function targetAclCapacityForBinding(targetNode, sourceNodeId) {
88
+ if (nodeIdKey(targetNode.node_id) === nodeIdKey(sourceNodeId)) return { canAdd: true };
87
89
  const fabricIndex = nodeFabricIndex(targetNode);
88
90
  if (fabricIndex === void 0) return { canAdd: true };
89
91
  const entries = entriesForFabric(readAclEntries(targetNode), fabricIndex);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/binding.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload } from './parse-json-payload-DU9TWKdu.js';
@@ -1,4 +1,4 @@
1
- import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, n, r, e, b as i$1, A, o as formatHex, d as b, h as handleAsync, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { t as toBigIntAwareJson } from './main.js';
3
3
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
4
4
  import { p as parseJsonPayload, i as isPlainObject } from './parse-json-payload-DU9TWKdu.js';
@@ -1,4 +1,4 @@
1
- import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { r, c, a as clientContext, t as tickContext, g as t, b as i, d as b } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -52,18 +52,18 @@ let ComissionNodeDialog = class extends i {
52
52
  if (!this.client.serverInfo.bluetooth_enabled) {
53
53
  return;
54
54
  }
55
- import('./commission-node-wifi-COPgEzct.js');
55
+ import('./commission-node-wifi-C75oytnk.js');
56
56
  this._mode = "wifi";
57
57
  }
58
58
  _commissionThread() {
59
59
  if (!this.client.serverInfo.bluetooth_enabled) {
60
60
  return;
61
61
  }
62
- import('./commission-node-thread-tiAZFQm-.js');
62
+ import('./commission-node-thread-D8YofRc7.js');
63
63
  this._mode = "thread";
64
64
  }
65
65
  _commissionExisting() {
66
- import('./commission-node-existing-BXWP_p4z.js');
66
+ import('./commission-node-existing-BEYUYvJR.js');
67
67
  this._mode = "existing";
68
68
  }
69
69
  _nodeCommissioned(ev) {
@@ -71,7 +71,7 @@ let ComissionNodeDialog = class extends i {
71
71
  this._close();
72
72
  }
73
73
  _requestSettings() {
74
- import('./matter-dashboard-app-BKEbeuif.js').then(function (n) { return n.K; }).then(({
74
+ import('./matter-dashboard-app-BB27gQMZ.js').then(function (n) { return n.K; }).then(({
75
75
  showSettingsDialog
76
76
  }) => {
77
77
  showSettingsDialog("network-credentials");
@@ -1,5 +1,5 @@
1
- import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-BKEbeuif.js';
2
- import { f as fireEvent } from './fire_event-CvJGy-iy.js';
1
+ import { r, c, a as clientContext, n, e, g as t, b as i, A, h as handleAsync, d as b, s as showAlertDialog } from './matter-dashboard-app-BB27gQMZ.js';
2
+ import { f as fireEvent } from './fire_event-8K3gg3yd.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-BKEbeuif.js';
2
- import { f as fireEvent } from './fire_event-CvJGy-iy.js';
1
+ import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, j as mdiAccessPoint, s as showAlertDialog, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
+ import { f as fireEvent } from './fire_event-8K3gg3yd.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,5 +1,5 @@
1
- import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-BKEbeuif.js';
2
- import { f as fireEvent } from './fire_event-CvJGy-iy.js';
1
+ import { i, c, a as clientContext, n, r, e, b as i$1, A, h as handleAsync, d as b, m as mdiWifi, s as showAlertDialog, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
+ import { f as fireEvent } from './fire_event-8K3gg3yd.js';
3
3
  import './main.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- import { i, n, b as i$1, d as b, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, n, b as i$1, d as b, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { I as mixinDelegatesAria, b as i, _ as __decorate, n, A, J as e, d as b, i as i$1, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { I as mixinDelegatesAria, b as i, _ as __decorate, n, A, J as e, d as b, i as i$1, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
 
3
3
  /**
4
4
  * @license
@@ -800,7 +800,7 @@ const ThemeService = new ThemeServiceImpl();
800
800
  * SPDX-License-Identifier: Apache-2.0
801
801
  */
802
802
  async function main() {
803
- import('./matter-dashboard-app-BKEbeuif.js').then(function (n) { return n.L; });
803
+ import('./matter-dashboard-app-BB27gQMZ.js').then(function (n) { return n.L; });
804
804
  let url = "";
805
805
  const isProductionServer = window.__MATTERJS_PRODUCTION_MODE__ === true || location.origin.includes(":5580") || location.href.includes("hassio_ingress") || location.href.includes("/api/ingress/");
806
806
  if (!isProductionServer) {
@@ -3985,7 +3985,7 @@ MdListItem = __decorate([t$1('md-list-item')], MdListItem);
3985
3985
  * SPDX-License-Identifier: Apache-2.0
3986
3986
  */
3987
3987
  const showSettingsDialog = async section => {
3988
- await import('./settings-dialog-CutA2TKp.js');
3988
+ await import('./settings-dialog-DH4tozUK.js');
3989
3989
  const dialog = document.createElement("settings-dialog");
3990
3990
  if (section) dialog.scrollToSection = section;
3991
3991
  document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
@@ -21739,7 +21739,7 @@ const clusters = {
21739
21739
  * SPDX-License-Identifier: Apache-2.0
21740
21740
  */
21741
21741
  const showDialogBox = async (type, dialogParams) => {
21742
- await import('./dialog-box-BPrL7aG8.js');
21742
+ await import('./dialog-box-GO3dAXJL.js');
21743
21743
  return new Promise(resolve => {
21744
21744
  const dialog = document.createElement("dialog-box");
21745
21745
  dialog.params = dialogParams;
@@ -21757,7 +21757,7 @@ const showPromptDialog = dialogParams => showDialogBox("prompt", dialogParams);
21757
21757
  * SPDX-License-Identifier: Apache-2.0
21758
21758
  */
21759
21759
  const showAttributeWriteDialog = async options => {
21760
- await import('./attribute-write-dialog-BdRJhTUT.js');
21760
+ await import('./attribute-write-dialog-BtlX13v4.js');
21761
21761
  const dialog = document.createElement("attribute-write-dialog");
21762
21762
  dialog.client = options.client;
21763
21763
  dialog.nodeId = options.nodeId;
@@ -21775,7 +21775,7 @@ const showAttributeWriteDialog = async options => {
21775
21775
  * SPDX-License-Identifier: Apache-2.0
21776
21776
  */
21777
21777
  const showCommandInvokeDialog = async options => {
21778
- await import('./command-invoke-dialog-K7sWqmT7.js');
21778
+ await import('./command-invoke-dialog-BtP8qgM-.js');
21779
21779
  const dialog = document.createElement("command-invoke-dialog");
21780
21780
  dialog.client = options.client;
21781
21781
  dialog.nodeId = options.nodeId;
@@ -21947,7 +21947,7 @@ MdTextButton = __decorate([t$1('md-text-button')], MdTextButton);
21947
21947
  * SPDX-License-Identifier: Apache-2.0
21948
21948
  */
21949
21949
  const showNodeLabelDialog = async (client, node) => {
21950
- await import('./node-label-dialog-CR9VtPvB.js');
21950
+ await import('./node-label-dialog-BSb88oAs.js');
21951
21951
  const dialog = document.createElement("node-label-dialog");
21952
21952
  dialog.client = client;
21953
21953
  dialog.node = node;
@@ -29166,7 +29166,7 @@ async function downgradeToOperate(client, nodeId, keys) {
29166
29166
  * SPDX-License-Identifier: Apache-2.0
29167
29167
  */
29168
29168
  const showNodeAclAddDialog = async node => {
29169
- await import('./node-acl-add-dialog-BCWHD3Ke.js');
29169
+ await import('./node-acl-add-dialog-DT3GqKYq.js');
29170
29170
  const dialog = document.createElement("node-acl-add-dialog");
29171
29171
  dialog.node = node;
29172
29172
  document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
@@ -29267,6 +29267,9 @@ function bindableClusters(source, sourceEndpoint, target, targetEndpoint) {
29267
29267
  };
29268
29268
  }
29269
29269
  function reverseAclState(sourceNodeId, binding, targetNode) {
29270
+ if (binding.node != null && nodeIdKey(binding.node) === nodeIdKey(sourceNodeId)) return {
29271
+ state: "self"
29272
+ };
29270
29273
  if (!targetNode || !targetNode.available) return {
29271
29274
  state: "cannotVerify"
29272
29275
  };
@@ -29311,6 +29314,9 @@ function detectBindingRelationship(entry, viewedNodeId, allNodes) {
29311
29314
  };
29312
29315
  }
29313
29316
  function targetAclCapacityForBinding(targetNode, sourceNodeId) {
29317
+ if (nodeIdKey(targetNode.node_id) === nodeIdKey(sourceNodeId)) return {
29318
+ canAdd: true
29319
+ };
29314
29320
  const fabricIndex = nodeFabricIndex(targetNode);
29315
29321
  if (fabricIndex === void 0) return {
29316
29322
  canAdd: true
@@ -31329,6 +31335,7 @@ function aclTargetsMax(client, nodeId) {
31329
31335
  return typeof raw === "number" && raw > 0 ? raw : Number.MAX_SAFE_INTEGER;
31330
31336
  }
31331
31337
  async function ensureBindingAcl(client, sourceNodeId, targetNodeId, targetEndpoint, cluster) {
31338
+ if (nodeIdKey(targetNodeId) === nodeIdKey(sourceNodeId)) return;
31332
31339
  const acl = await freshOurAcl(client, targetNodeId);
31333
31340
  const alreadyGranted = acl.some(e => e.authMode === AuthMode.Case && e.privilege >= Privilege.Operate && subjectsInclude(e, sourceNodeId) && entryMatchesTarget(e, targetEndpoint, cluster));
31334
31341
  if (alreadyGranted) return;
@@ -31388,6 +31395,7 @@ async function deleteBindingAtIndex(client, sourceNode, sourceEndpoint, index) {
31388
31395
  const updated = [...bindings.slice(0, index), ...bindings.slice(index + 1)];
31389
31396
  await client.setNodeBinding(sourceNode.node_id, sourceEndpoint, updated.map(toBindingTarget));
31390
31397
  if (removed.node == null || removed.endpoint == null) return;
31398
+ if (nodeIdKey(removed.node) === nodeIdKey(sourceNode.node_id)) return;
31391
31399
  const targetEndpoint = removed.endpoint;
31392
31400
  const removedCluster = removed.cluster;
31393
31401
  try {
@@ -31414,7 +31422,7 @@ async function deleteBindingAtIndex(client, sourceNode, sourceEndpoint, index) {
31414
31422
  * SPDX-License-Identifier: Apache-2.0
31415
31423
  */
31416
31424
  const showNodeBindingDialog = async (node, endpoint) => {
31417
- await import('./node-binding-dialog-B18O4ASU.js');
31425
+ await import('./node-binding-dialog-VnKnuV9C.js');
31418
31426
  const dialog = document.createElement("node-binding-dialog");
31419
31427
  dialog.node = node;
31420
31428
  dialog.endpoint = endpoint;
@@ -31567,6 +31575,7 @@ let BindingClusterCommands = class extends BaseClusterCommands {
31567
31575
  `;
31568
31576
  }
31569
31577
  _aclCell(b$1, state2) {
31578
+ if (state2 === "self") return b`<span class="status mut">self — no ACL needed</span>`;
31570
31579
  if (state2 === "present") return b`<span class="status ok">ACL present</span>`;
31571
31580
  if (state2 === "cannotVerify") return b`<span class="status mut">can't verify</span>`;
31572
31581
  const label = state2 === "missing" ? "ACL missing" : "ACL > Operate";
@@ -46441,7 +46450,7 @@ MatterNodeView = __decorateClass$3([t$1("matter-node-view")], MatterNodeView);
46441
46450
  * SPDX-License-Identifier: Apache-2.0
46442
46451
  */
46443
46452
  const showCommissionNodeDialog = async () => {
46444
- await import('./commission-node-dialog-CIrtUBMI.js');
46453
+ await import('./commission-node-dialog-cRMHM9mB.js');
46445
46454
  const dialog = document.createElement("commission-node-dialog");
46446
46455
  document.querySelector("matter-dashboard-app")?.renderRoot.appendChild(dialog);
46447
46456
  };
@@ -1,4 +1,4 @@
1
- import { i, c, a as clientContext, n, r, b as i$1, P as Privilege, p as nodeIdKey, q as aclCapacity, s as showAlertDialog, u as targetServerClusters, v as clusters, x as AuthMode, y as addAclEntry, z as PRIVILEGE_NAMES, d as b, B as mdiClose, C as getDeviceName, h as handleAsync, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, c, a as clientContext, n, r, b as i$1, P as Privilege, p as nodeIdKey, q as aclCapacity, s as showAlertDialog, u as targetServerClusters, v as clusters, x as AuthMode, y as addAclEntry, z as PRIVILEGE_NAMES, d as b, B as mdiClose, C as getDeviceName, h as handleAsync, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { i, c, a as clientContext, n, r, b as i$1, p as nodeIdKey, v as clusters, s as showAlertDialog, E as targetAclCapacityForBinding, F as addBinding, G as bindableClusters, A, d as b, C as getDeviceName, H as getEndpointDeviceTypes, h as handleAsync, g as t } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, c, a as clientContext, n, r, b as i$1, p as nodeIdKey, v as clusters, s as showAlertDialog, E as targetAclCapacityForBinding, F as addBinding, G as bindableClusters, A, d as b, C as getDeviceName, H as getEndpointDeviceTypes, h as handleAsync, g as t } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -22,7 +22,7 @@ let NodeBindingDialog = class extends i$1 {
22
22
  this._busy = false;
23
23
  }
24
24
  _knownNodes() {
25
- return Object.values(this.client.nodes).filter(n => nodeIdKey(n.node_id) !== nodeIdKey(this.node.node_id)).sort((a, b) => {
25
+ return Object.values(this.client.nodes).sort((a, b) => {
26
26
  const x = BigInt(a.node_id);
27
27
  const y = BigInt(b.node_id);
28
28
  return x < y ? -1 : x > y ? 1 : 0;
@@ -1,4 +1,4 @@
1
- import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { r, n, g as t, b as i, M as MAX_NODE_LABEL_LENGTH, d as b, w as writeNodeLabel, s as showAlertDialog } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-BKEbeuif.js';
1
+ import { i, c, a as clientContext, t as tickContext, r, e, b as i$1, f as fireAndForget, s as showAlertDialog, d as b, A, h as handleAsync, g as t, n, D as DevModeService, m as mdiWifi, j as mdiAccessPoint, k as mdiEyeOff, l as mdiEye } from './matter-dashboard-app-BB27gQMZ.js';
2
2
  import { p as preventDefault } from './prevent_default-D-ohDGsN.js';
3
3
  import './main.js';
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter-server/dashboard",
3
- "version": "1.1.1-alpha.0-20260619-cc792b0",
3
+ "version": "1.1.1",
4
4
  "description": "Dashboard for OHF Matter Server",
5
5
  "homepage": "https://github.com/matter-js/matterjs-server",
6
6
  "bugs": {
@@ -33,8 +33,8 @@
33
33
  "dependencies": {
34
34
  "@lit/context": "^1.1.6",
35
35
  "@material/web": "^2.4.1",
36
- "@matter-server/custom-clusters": "1.1.1-alpha.0-20260619-cc792b0",
37
- "@matter-server/ws-client": "1.1.1-alpha.0-20260619-cc792b0",
36
+ "@matter-server/custom-clusters": "1.1.1",
37
+ "@matter-server/ws-client": "1.1.1",
38
38
  "@mdi/js": "^7.4.47",
39
39
  "lit": "^3.3.3",
40
40
  "tslib": "^2.8.1",
@@ -82,6 +82,9 @@ export async function ensureBindingAcl(
82
82
  targetEndpoint: number,
83
83
  cluster: number | undefined,
84
84
  ): Promise<void> {
85
+ // A self-binding (source == target) needs no ACL — a node always has access to itself.
86
+ if (nodeIdKey(targetNodeId) === nodeIdKey(sourceNodeId)) return;
87
+
85
88
  const acl = await freshOurAcl(client, targetNodeId);
86
89
 
87
90
  const alreadyGranted = acl.some(
@@ -176,6 +179,8 @@ export async function deleteBindingAtIndex(
176
179
  await client.setNodeBinding(sourceNode.node_id, sourceEndpoint, updated.map(toBindingTarget));
177
180
 
178
181
  if (removed.node == null || removed.endpoint == null) return;
182
+ // A self-binding never created an ACL entry, so there is nothing to clean up.
183
+ if (nodeIdKey(removed.node) === nodeIdKey(sourceNode.node_id)) return;
179
184
  const targetEndpoint = removed.endpoint;
180
185
  const removedCluster = removed.cluster;
181
186
  try {
@@ -47,13 +47,13 @@ export class NodeBindingDialog extends LitElement {
47
47
  @state() private _busy = false;
48
48
 
49
49
  private _knownNodes(): MatterNode[] {
50
- return Object.values(this.client.nodes)
51
- .filter(n => nodeIdKey(n.node_id) !== nodeIdKey(this.node!.node_id))
52
- .sort((a, b) => {
53
- const x = BigInt(a.node_id);
54
- const y = BigInt(b.node_id);
55
- return x < y ? -1 : x > y ? 1 : 0;
56
- });
50
+ // Includes the source node itself — a self-binding (e.g. switch → light on the same node)
51
+ // is valid and needs no ACL.
52
+ return Object.values(this.client.nodes).sort((a, b) => {
53
+ const x = BigInt(a.node_id);
54
+ const y = BigInt(b.node_id);
55
+ return x < y ? -1 : x > y ? 1 : 0;
56
+ });
57
57
  }
58
58
 
59
59
  private _resolveTarget(): MatterNode | undefined {
@@ -193,6 +193,7 @@ class BindingClusterCommands extends BaseClusterCommands {
193
193
  }
194
194
 
195
195
  private _aclCell(b: BindingEntryStruct, state: ReverseAclState): TemplateResult {
196
+ if (state === "self") return html`<span class="status mut">self — no ACL needed</span>`;
196
197
  if (state === "present") return html`<span class="status ok">ACL present</span>`;
197
198
  if (state === "cannotVerify") return html`<span class="status mut">can't verify</span>`;
198
199
  const label = state === "missing" ? "ACL missing" : "ACL > Operate";
@@ -82,7 +82,7 @@ export function bindableClusters(
82
82
  return { bindable, otherTarget };
83
83
  }
84
84
 
85
- export type ReverseAclState = "present" | "missing" | "overPrivileged" | "cannotVerify";
85
+ export type ReverseAclState = "present" | "missing" | "overPrivileged" | "cannotVerify" | "self";
86
86
 
87
87
  export interface ReverseAclResult {
88
88
  state: ReverseAclState;
@@ -90,6 +90,7 @@ export interface ReverseAclResult {
90
90
 
91
91
  /**
92
92
  * Whether the target node's ACL grants the source the access this binding needs:
93
+ * - self: target is the source node itself — no ACL needed
93
94
  * - present: a matching CASE entry at Operate exists
94
95
  * - overPrivileged: the only matching grant is above Operate (Manage/Administer)
95
96
  * - missing: no matching grant (or only below Operate)
@@ -100,6 +101,7 @@ export function reverseAclState(
100
101
  binding: BindingEntryStruct,
101
102
  targetNode: MatterNode | undefined,
102
103
  ): ReverseAclResult {
104
+ if (binding.node != null && nodeIdKey(binding.node) === nodeIdKey(sourceNodeId)) return { state: "self" };
103
105
  if (!targetNode || !targetNode.available) return { state: "cannotVerify" };
104
106
  const matching = entriesForFabric(readAclEntries(targetNode), nodeFabricIndex(targetNode)).filter(
105
107
  e =>
@@ -158,6 +160,8 @@ export interface AddBindingCapacity {
158
160
  * source can absorb it — mirrors the merge behavior the writer implements.
159
161
  */
160
162
  export function targetAclCapacityForBinding(targetNode: MatterNode, sourceNodeId: number | bigint): AddBindingCapacity {
163
+ // A self-binding (target is the source node) needs no ACL entry, so no capacity is consumed.
164
+ if (nodeIdKey(targetNode.node_id) === nodeIdKey(sourceNodeId)) return { canAdd: true };
161
165
  const fabricIndex = nodeFabricIndex(targetNode);
162
166
  // Advisory pre-check only. If CurrentFabricIndex isn't cached for this target yet, don't block:
163
167
  // the write path (ensureBindingAcl → freshOurAcl) reads 0/62/5 fresh and fails cleanly if absent.