homebridge-plugin-utils 2.0.0 → 2.1.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.
Files changed (83) hide show
  1. package/dist/backpressure.d.ts +1 -1
  2. package/dist/backpressure.js +4 -4
  3. package/dist/backpressure.js.map +1 -1
  4. package/dist/cli/index.d.ts +73 -2
  5. package/dist/cli/index.js +221 -25
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/clock-double.js +2 -2
  8. package/dist/clock-double.js.map +1 -1
  9. package/dist/disposable-stack.d.ts +59 -0
  10. package/dist/disposable-stack.js +155 -0
  11. package/dist/disposable-stack.js.map +1 -0
  12. package/dist/docChrome.d.ts +260 -0
  13. package/dist/docChrome.js +361 -0
  14. package/dist/docChrome.js.map +1 -0
  15. package/dist/featureOptions-docs.d.ts +2 -2
  16. package/dist/featureOptions-docs.js +1 -1
  17. package/dist/featureOptions.d.ts +5 -5
  18. package/dist/featureOptions.js +6 -6
  19. package/dist/ffmpeg/exec.d.ts +2 -2
  20. package/dist/ffmpeg/exec.js +2 -2
  21. package/dist/ffmpeg/mp4-assembler.d.ts +45 -4
  22. package/dist/ffmpeg/mp4-assembler.js +45 -8
  23. package/dist/ffmpeg/mp4-assembler.js.map +1 -1
  24. package/dist/ffmpeg/mp4-parser.d.ts +1 -1
  25. package/dist/ffmpeg/mp4-parser.js +1 -1
  26. package/dist/ffmpeg/options.js +3 -3
  27. package/dist/ffmpeg/options.js.map +1 -1
  28. package/dist/ffmpeg/process.d.ts +1 -1
  29. package/dist/ffmpeg/process.js +4 -4
  30. package/dist/ffmpeg/process.js.map +1 -1
  31. package/dist/ffmpeg/record.d.ts +26 -1
  32. package/dist/ffmpeg/record.js +12 -0
  33. package/dist/ffmpeg/record.js.map +1 -1
  34. package/dist/ffmpeg/recording-process-double.d.ts +13 -0
  35. package/dist/ffmpeg/recording-process-double.js +22 -0
  36. package/dist/ffmpeg/recording-process-double.js.map +1 -1
  37. package/dist/ffmpeg/rtp-parser.d.ts +1 -1
  38. package/dist/ffmpeg/rtp-parser.js +1 -1
  39. package/dist/ffmpeg/rtp.d.ts +4 -4
  40. package/dist/ffmpeg/rtp.js +7 -6
  41. package/dist/ffmpeg/rtp.js.map +1 -1
  42. package/dist/ffmpeg/stream.js +1 -1
  43. package/dist/ffmpeg/stream.js.map +1 -1
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +1 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/logclient/auth.d.ts +3 -3
  48. package/dist/logclient/auth.js +2 -2
  49. package/dist/logclient/auth.js.map +1 -1
  50. package/dist/logclient/cli-run.js +2 -2
  51. package/dist/logclient/cli-run.js.map +1 -1
  52. package/dist/logclient/cli.js +2 -2
  53. package/dist/logclient/client.js +2 -2
  54. package/dist/logclient/client.js.map +1 -1
  55. package/dist/logclient/rest.js +1 -1
  56. package/dist/logclient/socket-double.d.ts +1 -1
  57. package/dist/logclient/socket-double.js +1 -1
  58. package/dist/logclient/socket.js +5 -5
  59. package/dist/logclient/socket.js.map +1 -1
  60. package/dist/logclient/time-window.d.ts +1 -1
  61. package/dist/mqttClient.d.ts +1 -1
  62. package/dist/mqttClient.js +3 -3
  63. package/dist/mqttClient.js.map +1 -1
  64. package/dist/ui/featureOptions.js +6 -6
  65. package/dist/ui/pluginConfigSession.mjs +1 -1
  66. package/dist/ui/webUi-featureOptions/effects/persist.mjs +2 -2
  67. package/dist/ui/webUi-featureOptions/effects/theme.mjs +1 -1
  68. package/dist/ui/webUi-featureOptions/effects/tokens.mjs +1 -1
  69. package/dist/ui/webUi-featureOptions/rendering.mjs +2 -2
  70. package/dist/ui/webUi-featureOptions/selectors.mjs +3 -3
  71. package/dist/ui/webUi-featureOptions/state.mjs +6 -6
  72. package/dist/ui/webUi-featureOptions/store.mjs +1 -1
  73. package/dist/ui/webUi-featureOptions/utils.mjs +14 -1
  74. package/dist/ui/webUi-featureOptions/views/connectionError.mjs +1 -1
  75. package/dist/ui/webUi-featureOptions/views/nav.mjs +42 -28
  76. package/dist/ui/webUi-featureOptions/views/options.mjs +2 -2
  77. package/dist/ui/webUi-featureOptions/views/search.mjs +2 -2
  78. package/dist/ui/webUi-featureOptions.mjs +57 -32
  79. package/dist/ui/webUi.mjs +43 -11
  80. package/dist/util.d.ts +89 -12
  81. package/dist/util.js +62 -14
  82. package/dist/util.js.map +1 -1
  83. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/logclient/socket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/logclient/socket.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * the package barrel: it carries per-stream state (the carry-forward instant), so a single async-generator transform - fresh state per call, structurally single-use -
7
7
  * makes cross-stream reuse with stale state unrepresentable, whereas a reused predicate would be wrong on a second stream.
8
8
  *
9
- * The carry-forward is the load-bearing detail. A record with no parseable instant (a `null` timestamp, or text in an unrecognized locale) is a continuation line of a
9
+ * The carry-forward is the detail that matters. A record with no parseable instant (a `null` timestamp, or text in an unrecognized locale) is a continuation line of a
10
10
  * multi-line message (a stack trace whose only first line carries `[timestamp]`), a bare status line, or a parse failure. A naive "is this record's own epoch in range"
11
11
  * test would shred every stack trace - the first line in, the traceback gone. Instead a null-epoch line inherits the instant of the most recent record that DID parse, so
12
12
  * a continuation is kept iff its parent is. This is a log-semantics rule intrinsic to "filter records by time correctly," so it lives in this primitive. The generator
@@ -199,7 +199,7 @@ export declare class MqttClient implements AsyncDisposable {
199
199
  * broker URL) surfaces as an `Error` wrapping the underlying cause, so a misconfigured plugin fails loudly instead of living in a zombie state. Network-level
200
200
  * failures (an unreachable broker reachable by a valid URL) do not throw - they surface asynchronously through the client's `error` event, are logged, and trigger
201
201
  * mqtt.js's built-in auto-reconnect until {@link MqttClient.abort} or a parent signal ends the client for good. A pre-aborted parent signal still constructs
202
- * a client (so `#mqtt` remains a class invariant) and then immediately runs the regular teardown path.
202
+ * a client (so `#mqtt` stays non-null) and then immediately runs the regular teardown path.
203
203
  *
204
204
  * @param config - Static broker / topic configuration. See {@link MqttConfig}.
205
205
  * @param init - Optional init options. See {@link MqttClientInit}.
@@ -130,7 +130,7 @@ export class MqttClient {
130
130
  * broker URL) surfaces as an `Error` wrapping the underlying cause, so a misconfigured plugin fails loudly instead of living in a zombie state. Network-level
131
131
  * failures (an unreachable broker reachable by a valid URL) do not throw - they surface asynchronously through the client's `error` event, are logged, and trigger
132
132
  * mqtt.js's built-in auto-reconnect until {@link MqttClient.abort} or a parent signal ends the client for good. A pre-aborted parent signal still constructs
133
- * a client (so `#mqtt` remains a class invariant) and then immediately runs the regular teardown path.
133
+ * a client (so `#mqtt` stays non-null) and then immediately runs the regular teardown path.
134
134
  *
135
135
  * @param config - Static broker / topic configuration. See {@link MqttConfig}.
136
136
  * @param init - Optional init options. See {@link MqttClientInit}.
@@ -147,7 +147,7 @@ export class MqttClient {
147
147
  this.#controller = new AbortController();
148
148
  this.signal = composeSignals(init.signal, this.#controller.signal);
149
149
  // Establish the underlying MQTT.js connection unconditionally so `#mqtt` is always a live reference by the time the constructor returns. A synchronous failure
150
- // (typically URL parsing) is wrapped in an Error whose `cause` carries the original error, so callers discriminate via `error.cause` rather than matching on
150
+ // (typically URL parsing) is wrapped in an Error whose `cause` carries the original error, so callers distinguish via `error.cause` rather than matching on
151
151
  // mqtt.js's internal message text.
152
152
  try {
153
153
  // We connect with `rejectUnauthorized: false` deliberately. The broker URL is user-supplied and, in the typical Homebridge deployment, points at a local
@@ -424,7 +424,7 @@ export class MqttClient {
424
424
  // on the way out, then ends the MQTT.js connection with `force = true` so any in-flight publish / subscribe packets are dropped rather than awaited - the client is
425
425
  // unambiguously done, and the underlying library's reconnect logic exits permanently. The `#mqtt` reference is not nulled: callers never reach `#mqtt` accesses
426
426
  // when the signal is aborted (every public method short-circuits on `signal.aborted`), and keeping the reference preserves the `readonly #mqtt: MqttJsClient`
427
- // invariant that lets TypeScript drop every non-null assertion in the live paths.
427
+ // guarantee that lets TypeScript drop every non-null assertion in the live paths.
428
428
  #teardown() {
429
429
  this.#subscriptions.clear();
430
430
  this.#mqtt.end(true);
@@ -1 +1 @@
1
- {"version":3,"file":"mqttClient.js","sourceRoot":"","sources":["../src/mqttClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqttClient.js","sourceRoot":"","sources":["../src/mqttClient.ts"],"names":[],"mappings":"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"}
@@ -136,7 +136,7 @@ function entryAddressesScope({ catalog, rawEntry, target }) {
136
136
  * name on a `render` declaration does not resolve, surfacing the misconfiguration at load time rather than silently degrading the log-emission path.
137
137
  *
138
138
  * The index is the catalog-side input to every other pure helper in this module. Build it once per catalog; reuse it across every configured-options mutation
139
- * because the catalog is invariant across those mutations. Categories without an entry in the options map are skipped silently (a plugin defines a category for
139
+ * because the catalog is unchanged across those mutations. Categories without an entry in the options map are skipped silently (a plugin defines a category for
140
140
  * future expansion before any option has migrated into it).
141
141
  *
142
142
  * @param categories - The raw category list.
@@ -681,7 +681,7 @@ export class FeatureOptions {
681
681
  *
682
682
  * Callers express intent ("forget any configuration for option X at scope Y") and the model owns the entry-format end-to-end. The match is value-aware: for
683
683
  * value-centric options it covers both the bare scoped entry and any entry carrying a single trailing value segment, so a subsequent {@link setOption} cleanly
684
- * replaces whatever was there. No-op when no entry addresses the target scope, so callers can treat this as an idempotent reset.
684
+ * replaces whatever was there. No-op when no entry addresses the target scope, so callers can treat this as a repeatable reset.
685
685
  *
686
686
  * @param args - The addressing intent: option key and optional scope id. See {@link ClearOptionArgs}.
687
687
  *
@@ -700,7 +700,7 @@ export class FeatureOptions {
700
700
  return;
701
701
  }
702
702
  this.#configuredOptions = next;
703
- // Only the index depends on the configured-options array; the catalog-derived state is invariant across config mutations and need not be touched here.
703
+ // Only the index depends on the configured-options array; the catalog-derived state is unchanged across config mutations and need not be touched here.
704
704
  this.#configIndex = buildConfigIndex(this.#catalog, this.#configuredOptions);
705
705
  }
706
706
  /**
@@ -725,7 +725,7 @@ export class FeatureOptions {
725
725
  */
726
726
  setOption(args) {
727
727
  this.#configuredOptions = applySetOption({ args, catalog: this.#catalog, configuredOptions: this.#configuredOptions });
728
- // Only the index depends on the configured-options array; the catalog-derived state is invariant across config mutations and need not be touched here.
728
+ // Only the index depends on the configured-options array; the catalog-derived state is unchanged across config mutations and need not be touched here.
729
729
  this.#configIndex = buildConfigIndex(this.#catalog, this.#configuredOptions);
730
730
  }
731
731
  /**
@@ -791,7 +791,7 @@ export class FeatureOptions {
791
791
  * @returns Returns the current list of available feature option categories.
792
792
  */
793
793
  get categories() {
794
- // The catalog stores the categories as readonly to encode the immutability invariant the pure functional core relies on. The public getter returns the
794
+ // The catalog stores the categories as readonly to encode the immutability guarantee the pure functional core relies on. The public getter returns the
795
795
  // historical mutable type for backward compatibility - the array is the same identity the caller passed at construction (or via the setter), so consumers
796
796
  // mutating it would be mutating the catalog regardless of the return type. The readonly annotation is the discipline, not a runtime enforcement.
797
797
  return this.#catalog.categories;
@@ -823,7 +823,7 @@ export class FeatureOptions {
823
823
  */
824
824
  set configuredOptions(options) {
825
825
  this.#configuredOptions = options ?? [];
826
- // The catalog-derived state is invariant across config mutations; only the lookup index needs rebuilding.
826
+ // The catalog-derived state is unchanged across config mutations; only the lookup index needs rebuilding.
827
827
  this.#configIndex = buildConfigIndex(this.#catalog, this.#configuredOptions);
828
828
  }
829
829
  /**
@@ -124,7 +124,7 @@ export class PluginConfigSession {
124
124
  * name alongside actual data.
125
125
  *
126
126
  * Built like {@link commit} for symmetry and clarity: the read happens into a local, the local is seeded, and a single trailing assignment advances the held
127
- * reference. (The build-then-assign is not load-bearing against a torn write here - the only I/O is the first statement - but it keeps this method's shape
127
+ * reference. (The build-then-assign does not guard against a torn write here - the only I/O is the first statement - but it keeps this method's shape
128
128
  * consistent with {@link commit}.)
129
129
  *
130
130
  * @returns {Promise<void>}
@@ -177,10 +177,10 @@ export const registerPersistEffect = ({ host, session, signal, store }) => {
177
177
  return;
178
178
  }
179
179
 
180
- // Single-writer drain start-site (mutation path). The macrotask-ordering invariant the serialization rests on: every subscribed store mutation
180
+ // Single-writer drain start-site (mutation path). The macrotask-ordering rule the serialization rests on: every subscribed store mutation
181
181
  // (option:set / option:cleared / options:reset / model:reverted) and every flush() caller (hide() / the visibilitychange handler) originates from a DOM-event
182
182
  // macrotask, so none can preempt the queued `inFlight.finally` microtask and strand a `pending` edit in the gap between the drain returning and its `finally`
183
- // clearing `inFlight`. (Forward-safety: if a future caller ever dispatches one of those subscribed actions from a microtask continuation, this invariant
183
+ // clearing `inFlight`. (Forward-safety: if a future caller ever dispatches one of those subscribed actions from a microtask continuation, this rule
184
184
  // must be re-checked.) Reset `flushing` here too so it never outlives the drain it belongs to.
185
185
  inFlight = drain().finally(() => {
186
186
 
@@ -47,7 +47,7 @@ export const registerThemeEffect = async ({ host, probe: { intervalMs = 20, time
47
47
 
48
48
  // Restore the document to its pre-effect state, symmetric with every mutation the effect made to it: drop the adopted stylesheet, then the `color-scheme` and
49
49
  // `.fo-dark` class that applyColorScheme set on `:root` and the accent-token inline overrides the Bootstrap probe wrote there. The `color-scheme` removal is the
50
- // load-bearing one - it is a native property, so a leftover `dark` value would tint default form-control and scrollbar rendering on whatever content occupies the
50
+ // one that matters - it is a native property, so a leftover `dark` value would tint default form-control and scrollbar rendering on whatever content occupies the
51
51
  // document after teardown (in a multi-page host, a sibling tab). The class and token overrides are inert once the stylesheet that reads them is gone, but are
52
52
  // cleared too so the effect leaves no trace on `:root`.
53
53
  document.adoptedStyleSheets = document.adoptedStyleSheets.filter((sheet) => sheet !== stylesheet);
@@ -9,7 +9,7 @@
9
9
  * font scale, spacing scale, radii, motion, accent colors, surfaces, borders, text, form controls, interactive states, specific colors). Cleanup is automatic via
10
10
  * the supplied AbortSignal - aborting removes the stylesheet from `document.adoptedStyleSheets`.
11
11
  *
12
- * Stylistic invariants the tokens encode:
12
+ * Stylistic rules the tokens encode:
13
13
  *
14
14
  * 1. **Tokens declare, theme overrides.** Accent tokens default to the CSS-standard `AccentColor` / `AccentColorText` keywords; the theme effect overrides them at
15
15
  * runtime via `documentElement.style.setProperty` after probing Bootstrap's `.btn-primary`. The declared defaults remain in effect until (and if) the probe
@@ -240,7 +240,7 @@ export const triStateTransition = ({ catalog, checkbox, configIndex, controllerI
240
240
  return { action: writeAction({ deviceId, enabled: true, expandedName, inputValue, option, upstream, valueCentric: isValueOption(catalog, expandedName) }) };
241
241
  };
242
242
 
243
- // Map a view scope kind to the suffix label rendered on category headers. Switch on the discriminator; every scope kind maps to its own label.
243
+ // Map a view scope kind to the suffix label rendered on category headers. Switch on the tag; every scope kind maps to its own label.
244
244
  const scopeLabel = (scopeKind) => {
245
245
 
246
246
  switch(scopeKind) {
@@ -320,7 +320,7 @@ const createLabel = ({ entry, expandedName }) => createElement("label", {
320
320
  }, [entry.description]);
321
321
 
322
322
  // Apply the label's scope-color class, replacing any color previously applied. The color classes are mutually exclusive, so we strip every one of them before adding
323
- // the current one - this makes the function idempotent and safe to re-run on every projection change, which is what lets a toggle re-color a modified option's label
323
+ // the current one - this makes the function safe to re-run on every projection change, which is what lets a toggle re-color a modified option's label
324
324
  // in place. The construction path and the per-mutation update path share this one writer, so the initial color and every subsequent color come from the same map.
325
325
  const applyLabelColor = ({ entry, inheriting, label }) => {
326
326
 
@@ -26,7 +26,7 @@ import { memoize } from "./store.mjs";
26
26
  */
27
27
 
28
28
  /**
29
- * Extract the controller serial from the scope discriminator, or null when no controller is in context. Pure helper - one-line discriminant read, not memoized.
29
+ * Extract the controller serial from the scope tag, or null when no controller is in context. Pure helper - one-line tag read, not memoized.
30
30
  *
31
31
  * @param {import("./state.mjs").FeatureOptionsState} state - The current state.
32
32
  * @returns {string | null} The controller serial when the scope is controller-based, null otherwise.
@@ -50,7 +50,7 @@ export const selectedControllerId = (state) => {
50
50
  };
51
51
 
52
52
  /**
53
- * Extract the device serial from the scope discriminator, or null when the scope is global or controller-only. Pure helper - one-line discriminant read, not
53
+ * Extract the device serial from the scope tag, or null when the scope is global or controller-only. Pure helper - one-line tag read, not
54
54
  * memoized.
55
55
  *
56
56
  * @param {import("./state.mjs").FeatureOptionsState} state - The current state.
@@ -83,7 +83,7 @@ export const selectedDeviceId = (state) => {
83
83
  * unrelated entries. If that assumption ever needs to weaken (e.g., a plugin starts surfacing user-chosen serials), encode the components with
84
84
  * `encodeURIComponent` at this seam before composing the key.
85
85
  *
86
- * @param {import("./state.mjs").Scope} scope - The scope discriminator.
86
+ * @param {import("./state.mjs").Scope} scope - The scope tag.
87
87
  * @returns {string} A stable string key identifying the view.
88
88
  */
89
89
  export const scopeCacheKey = (scope) => {
@@ -13,7 +13,7 @@ import { applyClearOption, applySetOption, buildCatalogIndex } from "../featureO
13
13
  * and derives its view via selectors. Discriminated unions encode the variant types the UI moves through, each listed below:
14
14
  *
15
15
  * - {@link Scope} - `{kind: "global"}` | `{kind: "controller", controllerId}` | `{kind: "device", controllerId, deviceId}`. The selection pointer. Discriminated
16
- * because each kind carries different data; merging them into a flat record would smear the invariants across two fields and force consumers to recover the
16
+ * because each kind carries different data; merging them into a flat record would smear the guarantees across two fields and force consumers to recover the
17
17
  * kind via predicates.
18
18
  * - {@link LifecycleStatus} - `loading` | `ready` | `persisting` | `persist-error` | `connection-error`. The page-state pointer. Discriminated because the
19
19
  * variants carry different per-state payloads (a snapshot when persisting, an error when failed, a message when the connection broke).
@@ -63,7 +63,7 @@ import { applyClearOption, applySetOption, buildCatalogIndex } from "../featureO
63
63
 
64
64
  /**
65
65
  * @typedef {Object} Validators
66
- * @property {(device: Device) => boolean} isController - Predicate for "is this device a controller-as-device" (drives controller-vs-device scope discrimination).
66
+ * @property {(device: Device) => boolean} isController - Predicate for "is this device a controller-as-device" (drives controller-vs-device scope distinction).
67
67
  * @property {(device: Device | undefined, option: Object) => boolean} validOption - Predicate for "should this option render for this device."
68
68
  * @property {(device: Device | undefined, category: Object) => boolean} validOptionCategory - Predicate for "should this category render for this device."
69
69
  */
@@ -116,7 +116,7 @@ import { applyClearOption, applySetOption, buildCatalogIndex } from "../featureO
116
116
  * @property {string | null} devicesControllerId - Serial of the controller whose `devices` are loaded, or null (device-only / none yet). Preserves the
117
117
  * device-to-controller association that `scope` drops once the selection goes global, so a loaded device's parent controller stays resolvable after the
118
118
  * selection leaves controller scope.
119
- * @property {{mode: "all" | "modified", query: string}} filter - Search and filter state. Two-field record because the dimensions are orthogonal (every combination
119
+ * @property {{mode: "all" | "modified", query: string}} filter - Search and filter state. Two-field record because the dimensions are independent (every combination
120
120
  * is valid and meaningful).
121
121
  * @property {readonly string[]} initialOptions - The at-show() snapshot for "Revert to Saved." Stable across the session except when re-show() loads an option
122
122
  * set that is not set-equal to the prior snapshot, in which case the snapshot is replaced.
@@ -157,7 +157,7 @@ export const initialState = () => {
157
157
 
158
158
  // Share a single empty-array reference across every array-typed option field so the persist effect's "are we dirty?" check (configuredOptions === persistedAnchor)
159
159
  // returns true at registration time and does not trigger a spurious initial persist. After model:loaded, each field is set to the loaded array's reference; the
160
- // invariant is preserved.
160
+ // guarantee is preserved.
161
161
  const empty = [];
162
162
 
163
163
  return {
@@ -304,8 +304,8 @@ export const reducer = (state, action) => {
304
304
 
305
305
  case "connection:error": {
306
306
 
307
- // Controller unreachable on the current view. The orchestrator's connection-error flow dispatches this after fetching the user-facing message from
308
- // `/getErrorMessage`; subscribers (status bar / sidebar) consume the message.
307
+ // Controller unreachable on the current view. The orchestrator's connection-error flow dispatches this with the user-facing message that arrived alongside the
308
+ // device-list response; subscribers (status bar / sidebar) consume the message.
309
309
  return { ...state, status: { kind: "connection-error", message: action.message } };
310
310
  }
311
311
 
@@ -24,7 +24,7 @@ const ModuleCustomEvent = CustomEvent;
24
24
  * cleanup follows the caller's {@link AbortSignal} automatically, no `destroy()` ceremony required. The signal-keyed lifecycle is the same primitive every
25
25
  * other part of the webUI already uses for its DOM listeners, so the store's subscription model integrates without a new lifecycle concept.
26
26
  * - **Read-then-dispatch ordering.** The reducer applies before the event fires, so a subscriber reading `store.state` from inside its handler always sees the
27
- * post-dispatch state. The ordering is load-bearing: views that re-derive their DOM in response to an event must see the new state, not the pre-mutation
27
+ * post-dispatch state. The ordering matters: views that re-derive their DOM in response to an event must see the new state, not the pre-mutation
28
28
  * state that triggered the dispatch.
29
29
  *
30
30
  * The store carries no domain logic itself - the reducer (passed at construction) and the action vocabulary (consumed by subscribers) are the application-specific
@@ -1,6 +1,6 @@
1
1
  /* Copyright(C) 2017-2026, HJD (https://github.com/hjdhjd). All rights reserved.
2
2
  *
3
- * webUi-featureOptions/utils.mjs: Shared utilities for the feature options webUI components.
3
+ * webUi-featureOptions/utils.mjs: Shared utilities for the plugin webUI - used by the feature-options components and the top-level orchestrator alike.
4
4
  */
5
5
  "use strict";
6
6
 
@@ -198,3 +198,16 @@ export function showToast(message, variant = "alert-success") {
198
198
  setTimeout(() => toast.remove(), 150);
199
199
  }, 3000);
200
200
  }
201
+
202
+ /**
203
+ * Surface an arbitrary thrown value as an error toast. The webUI's extension points - caller-supplied first-run hooks, plugin device fetchers, the connection-error
204
+ * retry callback - can reject with any shape (an Error, a string, a plain object, a primitive), so the message is extracted defensively: `err?.message` when the
205
+ * value carries one, a string coercion of the whole value otherwise. This is the single normalization every user-facing catch across the webUI routes through, so
206
+ * the toast text stays useful regardless of what bubbled out.
207
+ *
208
+ * @param {*} err - The thrown value to surface.
209
+ */
210
+ export function toastError(err) {
211
+
212
+ homebridge.toast.error(err?.message ?? String(err), "Error");
213
+ }
@@ -13,7 +13,7 @@ import { effect } from "../store.mjs";
13
13
  * Subscribes to `connection:error` and `model:loaded`. On `model:loaded` this view yields - it aborts its retry window and stops rendering - and the shared
14
14
  * `#headerInfo` container is reclaimed by the header view; it does not itself clear the error display.
15
15
  *
16
- * Renders into the same `#headerInfo` container the priority-chain header uses. The two views coordinate via the `state.status` discriminator: header yields when
16
+ * Renders into the same `#headerInfo` container the priority-chain header uses. The two views coordinate via the `state.status` tag: header yields when
17
17
  * status is connection-error; this view yields when status is anything else.
18
18
  *
19
19
  * Renders:
@@ -28,23 +28,24 @@ import { effect } from "../store.mjs";
28
28
  * - `scope:changed` - update active-link highlighting without rebuilding.
29
29
  * - `model:loaded` - initial build (controllers + global link + mode-aware structure).
30
30
  *
31
- * The controller-click handler does I/O: it calls the caller-supplied `getDevices` callback to fetch the new controller's devices, then dispatches a
32
- * `devices:loaded` action. The dispatch is wrapped in a try/catch so a failing fetch surfaces as a `connection:error` action; the view layer never silently
33
- * swallows a network failure.
31
+ * The controller-click handler does I/O: it calls the caller-supplied `getDevices` callback to fetch the new controller's DeviceListResult, then dispatches a
32
+ * `devices:loaded` action followed by either a scope change (devices present) or a `connection:error` (the result carried a failure message). A per-mount fetch
33
+ * generation guards the last-resolved-wins race: the newest click owns the store, so a superseded controller click discards its result on both settlement paths
34
+ * (resolve and reject) rather than overwriting the newer click's rendered state. The handler wraps its fetch in a try/catch so a rejected fetch surfaces as a
35
+ * `connection:error` action rather than an unhandled rejection; the view layer never silently swallows a failure.
34
36
  *
35
37
  * @param {Object} args
36
38
  * @param {((controller: import("../state.mjs").Controller | null) =>
37
- * Promise<readonly import("../state.mjs").Device[]>) | undefined} args.getDevices
38
- * - Plugin-provided fetcher for a controller's devices. Called on controller-link click.
39
+ * Promise<import("../../webUi-featureOptions.mjs").DeviceListResult>) | undefined} args.getDevices
40
+ * - Plugin-provided fetcher resolving a controller's DeviceListResult. Called on controller-link click.
39
41
  * @param {string} args.labelControllers - Section header label for the controllers list.
40
42
  * @param {string} args.labelDevices - Section header label for the devices list.
41
- * @param {{ request: (path: string) => Promise<unknown> }} args.host - Homebridge bridge (used to fetch the error message on connection failure).
42
43
  * @param {HTMLElement} args.rootControllers - The `#controllersContainer` element.
43
44
  * @param {HTMLElement} args.rootDevices - The `#devicesContainer` element.
44
45
  * @param {AbortSignal} args.signal - Lifecycle signal.
45
46
  * @param {import("../store.mjs").FeatureOptionsStore} args.store - The store.
46
47
  */
47
- export const mountNavView = ({ getDevices, host, labelControllers, labelDevices, rootControllers, rootDevices, signal, store }) => {
48
+ export const mountNavView = ({ getDevices, labelControllers, labelDevices, rootControllers, rootDevices, signal, store }) => {
48
49
 
49
50
  // Controllers container rebuilds on model:loaded (initial mode/controllers), plus controllers:loaded - a controllers-only refresh hook not currently dispatched.
50
51
  effect({
@@ -96,8 +97,14 @@ export const mountNavView = ({ getDevices, host, labelControllers, labelDevices,
96
97
  store
97
98
  });
98
99
 
100
+ // Per-mount fetch generation for the controller-click handler. Held as a mutable reference (not a plain number) because handleNavClick is module-scope: a number
101
+ // would be copied by value into the call, defeating the guard. The closure-held object mirrors the connection-error view's retryAbort per-mount state. Each
102
+ // controller click captures the incremented generation before its fetch; a continuation whose generation no longer matches has been superseded by a newer click and
103
+ // discards its result.
104
+ const clickFetch = { generation: 0 };
105
+
99
106
  // Click delegation: one listener on each container resolves the clicked nav link's `data-navigation` and dispatches the appropriate scope-change.
100
- const onClick = (event) => handleNavClick({ event, getDevices, host, signal, store });
107
+ const onClick = (event) => handleNavClick({ clickFetch, event, getDevices, signal, store });
101
108
 
102
109
  rootControllers.addEventListener("click", onClick, { signal });
103
110
  rootDevices.addEventListener("click", onClick, { signal });
@@ -122,7 +129,7 @@ const sectionHeader = (label) => createElement("h6", {
122
129
  }, [label]);
123
130
 
124
131
  // Append a labeled section to a container: an optional header followed by one rendered node per item. The header renders only when the section has at least one item,
125
- // so a section that heads nothing emits no header. This is the single enforcement point for the "a header labels a non-empty section" invariant - it makes an orphan
132
+ // so a section that heads nothing emits no header. This is the single enforcement point for the "a header labels a non-empty section" rule - it makes an orphan
126
133
  // header (a label with no items beneath it) unrepresentable regardless of which list a caller renders, which is what keeps a fully-grouped device set from showing a
127
134
  // standalone top-level header that labels nothing.
128
135
  const appendSection = ({ items, label, render, root }) => {
@@ -164,7 +171,7 @@ const buildControllersList = ({ controllerLabel, mode, root, state }) => {
164
171
 
165
172
  // The controllers section. In controller-based mode there is always at least one controller by the time the sidebar builds (the orchestrator shows the
166
173
  // no-controllers message and never mounts the nav otherwise), so the non-empty guard is belt-and-suspenders here - but routing through appendSection keeps every
167
- // section under one invariant rather than special-casing this one.
174
+ // section under one rule rather than special-casing this one.
168
175
  appendSection({
169
176
 
170
177
  items: state.controllers,
@@ -175,7 +182,7 @@ const buildControllersList = ({ controllerLabel, mode, root, state }) => {
175
182
  };
176
183
 
177
184
  // Build the devices container. The ungrouped devices form the top-level section under the device label; each sidebarGroup forms its own section in alphabetical order.
178
- // Because the device-label header renders only when there is at least one ungrouped device (the appendSection invariant), a fully-grouped device set - every device
185
+ // Because the device-label header renders only when there is at least one ungrouped device (the appendSection rule), a fully-grouped device set - every device
179
186
  // carrying a sidebarGroup - shows its group headers alone, with no orphan top-level device header. Controllers are excluded from group derivation (their link lives in
180
187
  // the controllers container above); the reserved "hidden" group excludes devices from the sidebar entirely.
181
188
  const buildDevicesList = ({ catalog, deviceLabel, devices, root }) => {
@@ -238,8 +245,8 @@ const applyDevicesHighlight = (root, scope) => {
238
245
  };
239
246
 
240
247
  // Handle a click on any nav link. Resolves the click target's `data-navigation` and dispatches the corresponding scope-change. Controller clicks additionally
241
- // fetch the new controller's devices via the caller-supplied `getDevices` callback.
242
- const handleNavClick = async ({ event, getDevices, host, signal, store }) => {
248
+ // fetch the new controller's DeviceListResult via the caller-supplied `getDevices` callback.
249
+ const handleNavClick = async ({ clickFetch, event, getDevices, signal, store }) => {
243
250
 
244
251
  const navLink = event.target.closest(".nav-link[data-navigation]");
245
252
 
@@ -264,8 +271,8 @@ const handleNavClick = async ({ event, getDevices, host, signal, store }) => {
264
271
 
265
272
  case "controller": {
266
273
 
267
- // Optimistic scope update before the fetch so the sidebar highlight repaints immediately. If the fetch fails we transition to connection:error; if it
268
- // succeeds we dispatch devices:loaded and select the controller-as-device entry (the first device in the returned list).
274
+ // Optimistic scope update before the fetch so the sidebar highlight repaints immediately. If the result carries a failure message we transition to
275
+ // connection:error; if it carries devices we select the controller-as-device entry (the first device in the returned list).
269
276
  store.dispatch({ scope: { controllerId: deviceSerial, kind: "controller" }, type: "scope:changed" });
270
277
 
271
278
  if(!getDevices) {
@@ -273,43 +280,50 @@ const handleNavClick = async ({ event, getDevices, host, signal, store }) => {
273
280
  return;
274
281
  }
275
282
 
283
+ // Capture this fetch's generation before awaiting. The newest click owns the store, so a continuation whose generation no longer matches has been superseded by
284
+ // a later click and discards its result on both settlement paths below.
285
+ const generation = ++clickFetch.generation;
286
+
276
287
  try {
277
288
 
278
289
  const controller = store.state.controllers.find((c) => c.serialNumber === deviceSerial);
279
- const devices = await getDevices(controller ?? null);
290
+ const { devices, error } = await getDevices(controller ?? null);
280
291
 
281
- if(signal.aborted) {
292
+ // Bail if the page tore down or a newer click superseded this one; a stale continuation must not overwrite the newer click's rendered state.
293
+ if(signal.aborted || (generation !== clickFetch.generation)) {
282
294
 
283
295
  return;
284
296
  }
285
297
 
286
298
  store.dispatch({ controllerId: deviceSerial, devices, type: "devices:loaded" });
287
299
 
288
- if(devices.length === 0) {
289
-
290
- // No devices returned despite a controller in scope - treat as a connection failure and surface the upstream error message via the host.
291
- const message = String(await host.request("/getErrorMessage") ?? "");
300
+ if(error.length) {
292
301
 
293
- if(signal.aborted) {
302
+ // The result carried a connection-failure message - hand the header to the connection-error view. The message arrived with the device-list response, so no
303
+ // separate request is made.
304
+ store.dispatch({ message: error, type: "connection:error" });
294
305
 
295
- return;
296
- }
306
+ return;
307
+ }
297
308
 
298
- store.dispatch({ message, type: "connection:error" });
309
+ if(devices.length === 0) {
299
310
 
311
+ // A legitimately empty controller: the optimistic controller scope stands over the empty list, with no device-scope dispatch.
300
312
  return;
301
313
  }
302
314
 
303
315
  // Select the controller-as-device entry (the first device in the returned list).
304
316
  store.dispatch({ scope: { controllerId: deviceSerial, deviceId: devices[0].serialNumber, kind: "device" }, type: "scope:changed" });
305
- } catch {
317
+ } catch(err) {
306
318
 
307
- if(signal.aborted) {
319
+ // The same staleness bail guards the reject path: a superseded fetch that rejects (an IPC failure, the contract-guard TypeError) must not dispatch a stale
320
+ // connection:error over the newer click's state. A named Error reaches the user verbatim; non-Error junk falls back to the generic sentence.
321
+ if(signal.aborted || (generation !== clickFetch.generation)) {
308
322
 
309
323
  return;
310
324
  }
311
325
 
312
- store.dispatch({ message: "Failed to fetch devices.", type: "connection:error" });
326
+ store.dispatch({ message: (err instanceof Error) ? err.message : "Failed to fetch devices.", type: "connection:error" });
313
327
  }
314
328
 
315
329
  return;
@@ -259,7 +259,7 @@ export const mountOptionsView = ({ configTable, platform, signal, store }) => {
259
259
  };
260
260
 
261
261
  // Scope-aware cache invalidation for a per-option mutation. The action's `args.id` field carries the mutation's scope marker (the persisted entry-string format
262
- // encodes scope by serial), so we discriminate by matching it against the controllers list:
262
+ // encodes scope by serial), so we distinguish it by matching against the controllers list:
263
263
  //
264
264
  // - `id` undefined - global-scope mutation. Every cached view inherits from global. Drop every entry.
265
265
  // - `id` matches a controller's serial - controller-scope mutation. Every cached device-view under this controller inherits from it. Drop entries whose key
@@ -375,7 +375,7 @@ const buildCategoryShells = ({ configTable, state }) => {
375
375
  configTable.appendChild(fragment);
376
376
  };
377
377
 
378
- // Materialize the rows for a single category. Idempotent via dataset.rowsRendered - re-opening an already-built category is a no-op for materialization.
378
+ // Materialize the rows for a single category. Guarded by dataset.rowsRendered - re-opening an already-built category is a no-op for materialization.
379
379
  const ensureRowsRendered = ({ details, state }) => {
380
380
 
381
381
  if(details.dataset.rowsRendered === "true") {
@@ -138,7 +138,7 @@ export const mountSearchView = ({ configTable, root, signal, store }) => {
138
138
  }
139
139
  };
140
140
 
141
- // Build the panel DOM and fill the `refs` record with element pointers that update functions consult later. One-time call; idempotent only insofar as it reassigns
141
+ // Build the panel DOM and fill the `refs` record with element pointers that update functions consult later. One-time call; safe to repeat only insofar as it reassigns
142
142
  // `refs` fields (the panel itself is rebuilt fresh, replacing any prior content).
143
143
  const buildPanel = ({ refs, root }) => {
144
144
 
@@ -350,7 +350,7 @@ const handleClick = ({ configTable, event, refs, store }) => {
350
350
  // On bulk expand, synchronously drive the options view's capture-phase `toggle` handler so each category's rows materialize in the SAME layout pass as the open,
351
351
  // rather than the open reflowing first and the async native `toggle` task materializing in a second pass. Collapsing the opens and materializations into one
352
352
  // settled height change keeps the host's iframe-resize ResizeObserver from cascading ("ResizeObserver loop completed with undelivered notifications"). Row
353
- // materialization is idempotent, so the native async toggle that follows is a no-op. Collapse needs no synthetic toggle - hiding rows is already one reflow.
353
+ // materialization only runs once, so the native async toggle that follows is a no-op. Collapse needs no synthetic toggle - hiding rows is already one reflow.
354
354
  if(shouldExpand) {
355
355
 
356
356
  details.dispatchEvent(new Event("toggle"));