Repository navigation
fix(cycles): make cycle detail issue rows open the issue on click - #59
bhackett1024 wants to merge 1 commit into
Conversation
Cycle detail rows rendered IssueRow without onOpenIssue, so rows were static divs (no role, tabindex, onClick, or link) — clicking DT-113 in Cycle 12 never navigated, while identical rows on the Issues list do. Wire useOpenIssue into CycleDetail and pass it to IssueRow. Fixes Self Healing bug bug-mupwu86k-vvxe. Co-authored-by: Brian Hackett <bhackett@replay.io>
|
Self Healing verification status (worker note): The fix is on this PR at Direct verification on that preview: the Cycle 12 DT-113 row renders with Vendor verification runs:
The recording's own step log shows the journey loaded this preview, navigated Cycles → Cycle 12, found the DT-113 row, and probed it via |
Why
Self Healing bug
bug-mupwu86k-vvxe(high): on the Cycle 12 detail view (#/cycle/cyc_12), clicking an issue row — its ID, its title, or the row body — does nothing. The row is a static<div>with no role, no tabindex, no onClick, and no link, so a user cannot reach the issue detail page from a cycle. Identical rows on the Issues list are clickable (role="button",tabindex="0", onClick →#/issue/<id>), so the app contradicts itself between surfaces.What changed
IssueRowmakes row clickability opt-in via itsonOpenIssueprop;CycleDetailrendered rows without it. This wiresuseOpenIssue()intoCycleDetailand passes it to eachIssueRow, restoring the samerole="button"/tabindex="0"/ Enter-key navigation the Issues list already has. No shared-component changes; the My Issues and Projects views are separate instances of the same call-site pattern and are intentionally untouched here.Tradeoffs
Minimal call-site fix matching the existing
IssuesViewwiring exactly. A larger refactor (makingonOpenIssuerequired inIssueRow) would have forced simultaneous decisions on the other bare call sites and collided with a parallel fix worker covering My Issues; that refactor can follow after both land.Verification
npm run lintclean;npm run build(tsc -b && vite build) green locally.Human author: Brian Hackett (bhackett@replay.io)
🔗 Obvious Project · 🧵 Obvious Thread · 🔀 Obvious PR Artifact