Repository navigation
e2e: sidebar_live lets a row change what it shows, never redraw the same - #815
Conversation
The check counted a row drawn again as lost unless its words changed. Its own setup changes one: the agent it registers comes in beside its person in the chats shared with them (decision 44), and "Their chat"'s row gains that face whenever the list next sends the row, before the rows are marked or after (#801's diagnostic: kept 14 of 15, that row now a stack of two faces, the same words). A row drawn again is now kept if what it shows changed (its HTML), and lost if drawn again the same, which is the bug `patch` must not have. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexlwn123
left a comment
There was a problem hiding this comment.
Pass at aa628ed02daffa4c635307266e1b5e54e5e50e2a.
This corrects the sidebar test's definition of a changed row. I traced it against cell/shell/shell.js::patch: unchanged DOM nodes are retained, while a changed avatar stack legitimately replaces the row without changing its text. The revised assertion still rejects identical replacements and missing original rows, excludes newly added rows from the retained count, and keeps the open-frame checks.
The change is appropriately small and reuses the existing HTML snapshot; no blocking finding. git diff HEAD^ HEAD --check passed. CI check and all four e2e shards are still in progress; I did not run the full e2e suite locally. The referenced engineering-style document is unavailable at its configured local path.
shell-ui's
sidebar_liveflaked in shard 2 across master's queue (pr-753, pr-783, pr-794, pr-795) and unrelated branches. #801's diagnostic named the row every time:Why the row changes
delegation::agent_of), to make an app as them.Which side was wrong.
patchredraws a row when what it shows changed: the new face. That's right. The check counted a redrawn row as lost unless its words changed, so a real change in faces read as a regression.The change (test only). A row shown before passes if it's the same element, or if what it shows changed (its HTML). It's lost if it's gone, or redrawn showing exactly the same, which is the bug the check exists for. Its failure still names each lost row.
Evidence (local,
cargo xtask e2e --only shell-ui)PUT …/archived … connection closed before message completed). That's unrelated to this check.sidebar_liveincluded.Complexity ledger: the check keeps each row's HTML instead of its words. No product change.
🤖 Generated with Claude Code