Files
hermes-agent/apps
Brooklyn Nicholson 2953ead658 fix(desktop): stamp optimistic pin rows so value copies can't confirm the guard
The WeakSet keyed optimistic-row tracking on object identity, but SessionInfo
rows are re-spread by value on ordinary user paths (touchSessionActivity on
send, applySessionTitle on rename). A copy carried the painted `pinned` while
losing WeakSet membership, so the next reconcile read it as a page agreeing
with our write and released the guard while the PATCH was still in flight —
re-opening the revert #128198 closes. Stamp the row with an enumerable symbol
instead: identity no longer matters, and only a row a real list page delivered
(a fresh object without the stamp) can confirm the guard.

Also covers the unpin half in the failed-write comment.

Found by @Enough1122 review on #128198.
2026-10-05 16:49:53 -05:00
..