inspector/clients
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 55578ac478 chore: address Copilot review round 3 (#2192)
Seeding the settings draft during render made `useSettingsDraft` call
`resolveInitial` there, and App.tsx passes `lastPersistedSettings.resolve`.
That resolver was neither pure nor current:

- it could `recordsRef.current.delete(...)`, a shared-state mutation that a
  render React replays under StrictMode or abandons would run an
  unpredictable number of times;
- it read `serversRef`, which is mirrored in a passive effect and so trails
  `servers` by one flush — so on exactly the render where a refreshed list
  arrives, it answered from the previous commit's list. That render is the
  one that seeds the draft.

`resolve` now reads `servers` directly and only reads. Eviction moves to an
effect: nothing depended on it happening at a particular moment, it only
keeps a dead record from being re-checked on every later write. Reading
`servers` also makes the supersession test fire a render earlier, which is
the right direction — the record is being checked against a list that has
genuinely been re-read.

`resolve`'s identity now changes with the list, so the test harness
delegates to the current hook result instead of handing back a snapshot from
the first render; a snapshot would have closed over the initial list and
made `setServers` look like a no-op. New test asserts `resolve` answers from
the list of the render it is called in, verified to fail against the ref
read.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013hzwzS8UvBsr4yZm7o7sev
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-30 00:38:41 -04:00
..
cli Merge remote-tracking branch 'origin/v2/main' into v2/fix/2172-oidc-discovery-compat 2026-08-28 10:10:57 -04:00
launcher fix(scripts): address Copilot review round 1 on #2147 2026-08-26 21:20:52 -04:00
tui fix(auth): make snapshot-and-clear one atomic storage step (#2144) 2026-08-28 07:40:52 -04:00
web chore: address Copilot review round 3 (#2192) 2026-08-30 00:38:41 -04:00