inspector/clients
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall ba633fc8d2 fix(web): seed the settings draft from the tracker, and don't re-apply a rejected one
Review round 8 on #2091, both findings — the two remaining places the
stale `servers` entry and the unpersisted draft still leaked.

The modal draft was seeded straight from `servers`, and the draft is the
input to the *next* write: after a write landed whose list reload failed,
opening the modal and saving any unrelated field sent the superseded
value back to disk. It now seeds through the tracker, which falls back to
the entry when nothing has landed, so the ordinary case is unchanged.

`useSettingsDraft` also keeps the draft when a save rejects, and closing
the modal unconditionally pushed that draft into the live client — so the
client returned to the value that had just failed to reach disk, undoing
the rollback that reported the failure. The server whose last modal save
rejected is now remembered, and close applies what landed for it instead
(the roots diff and the fetch-log resize included). The flag clears on
the next save for that server that lands, and on the close that acts on
it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UL9retfvAXRgvi6EWk4SY4
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-23 13:36:21 -04:00
..
cli chore(lint): fail lint on warnings (--max-warnings 0) 2026-08-23 10:47:29 -04:00
launcher chore(lint): fail lint on warnings (--max-warnings 0) 2026-08-23 10:47:29 -04:00
tui chore(lint): fail lint on warnings (--max-warnings 0) 2026-08-23 10:47:29 -04:00
web fix(web): seed the settings draft from the tracker, and don't re-apply a rejected one 2026-08-23 13:36:21 -04:00