Collapsing a jumped-to thread card leaves it highlighted and refuses to collapse #573
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub#573
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Collapsing a jumped-to thread card leaves it highlighted and refuses to collapse
What's requested
Clicking "collapse" on a thread card that was just jumped to (via a Comments-index pill) should collapse it AND clear the emerald flash highlight. Today the collapse link appears dead and the highlight persists.
Evidence
web/src/pages/Pull.jsx:725-727(ThreadCard):open = () => getOpen() || flashed()— while flashed, the card is force-expanded regardless of the collapse toggle.web/src/pages/Pull.jsx:1033-1041(jumpToThread):setFlashTid(tid)sets the flash; nothing anywhere clears it — no timeout, no clear on collapse, resolve, or reload. The signal only changes when another pill jump overwrites it.web/src/pages/Pull.jsx:754: the flashed card carriesoutline outline-2 outline-emerald-500, which therefore sticks indefinitely.Observed user-visible behavior (static read; not reproduced locally): after one pill jump, the target card is outlined forever, and the "collapse" link both fails to collapse (flashed() forces
open()true) and fails to unhighlight.Fix shape
onCollapse/clearFlashprop that callssetFlashTid(null)), so bothopen()and the outline return to trackinggetOpen().Architecture notes
Pull.jsx; no anchor or drift-hash surface touched (anchorContextShainputs stay byte-identical).Acceptance criteria
Shares the flash lifecycle with #575 — land the flash set/clear mechanics once, in whichever lands first; the other consumes it.
Fixed by #577 (merged): ThreadCard collapse now clears the page-level flash for its tid before toggling, so collapse collapses + unhighlights; jump force-reveal, single-flash overwrite, and resolve/frame behavior otherwise unchanged (resolve keeps highlight, noted). Shared set/clear mechanics landed once for #575 to consume. Verified: 1406 unit tests green (smoke excluded, pre-existing), vite/esbuild green, independent review APPROVE.