* fix(sessions): keep cards in place across rescans An open Sessions tab rescans every 30 seconds and each scan delivers a new array. The Repeater used that array as its model, so every rescan destroyed and recreated all cards: a hovered card flickered and keyboard focus on its copy action was lost. The Repeater now counts sessions and each card binds its entry by index, so a same-size rescan rebinds cards in place. Session ages also restart from each scan instead of a clock captured before the data arrived, which understated ages by up to 30 seconds. A `working` session is highlighted like the other live states, and the refresh policy parses its stale age in one place. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(sessions): clarify rescan stability and refresh screenshot Same-size scans preserve cards by list position; count changes recreate them. Refresh the synthetic screenshot to show ages from the corrected scan clock. Documentation impact: usage and development guides and Unreleased now match the implemented behavior. TODO remains unchanged because this fixes existing Sessions behavior and does not complete any tracked parity gap. * test(sessions): verify focus and live state colors at runtime Exercise all supported live labels and preserve pointer hover and copy-button keyboard focus through a same-size rescan. Replace duplicated source assertions with behavior checks. Documentation impact: existing guides already describe this behavior; no TODO parity entry is completed. --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
8 files changedLine totals unavailable