What happened?
UI components > DiffPane add-note clicks keep targeting the current hunk after navigation (src/ui/components/ui-components.test.tsx:924 area) fails intermittently: the simulated add-note click records no target (received [] where one {fileId: "target", hunkIndex: 1, target: {line: 60, side: "new"}} entry is expected).
Observed:
Suspected shape
Same family as the flake #506 root-caused: an interaction test racing settle timing. The click coordinate mapping and the add-note affordance state both depend on polled viewport snapshots; if the click fires before the affordance/geometry state has committed, the handler sees no active target and drops the click.
Why it matters
CI-blocking flakes on unrelated PRs erode trust in red builds — today alone, intermittent failures delayed #501, #505, and #507 before their reruns.
What happened?
UI components > DiffPane add-note clicks keep targeting the current hunk after navigation(src/ui/components/ui-components.test.tsx:924area) fails intermittently: the simulated add-note click records no target (received []where one{fileId: "target", hunkIndex: 1, target: {line: 60, side: "new"}}entry is expected).Observed:
290ebcd(before the fix: unblock CI (README formatting, note-geometry scroll clamp, test config isolation) #506 DiffPane change) and 1/15 at current main — so it predates fix: unblock CI (README formatting, note-geometry scroll clamp, test config isolation) #506 and is not caused by it.Suspected shape
Same family as the flake #506 root-caused: an interaction test racing settle timing. The click coordinate mapping and the add-note affordance state both depend on polled viewport snapshots; if the click fires before the affordance/geometry state has committed, the handler sees no active target and drops the click.
Why it matters
CI-blocking flakes on unrelated PRs erode trust in red builds — today alone, intermittent failures delayed #501, #505, and #507 before their reruns.