Follow-up to the review comment on #48, which was already merged.
promote() early-returned for anything that wasn't a Click and left the pending click intact. So click → drag → click at the same cell within 400ms was reported as a double-click. Same for a scroll or a keystroke in between.
Any non-click input now clears the pending click: two clicks with something between them are two clicks, however fast. Three regression tests — drag, keystroke, scroll.
The trade-off worth naming: a double-click where the mouse jitters enough for the terminal to emit a Drag between the two downs will now register as two clicks. That is the right way round — a spurious dblclick fires AttachHighlighted and opens a session, while a missed one costs the user a second click.
Follow-up to the review comment on #48, which was already merged.
`promote()` early-returned for anything that wasn't a `Click` and left the pending click intact. So **click → drag → click** at the same cell within 400ms was reported as a double-click. Same for a scroll or a keystroke in between.
Any non-click input now clears the pending click: two clicks with something between them are two clicks, however fast. Three regression tests — drag, keystroke, scroll.
The trade-off worth naming: a double-click where the mouse jitters enough for the terminal to emit a `Drag` between the two downs will now register as two clicks. That is the right way round — a spurious dblclick fires `AttachHighlighted` and opens a session, while a missed one costs the user a second click.
<details>
<summary>Verification</summary>
```
cargo clippy --all-targets -- -D warnings 0
cargo test --all 320 passed, 0 failed
```
</details>
promote() early-returned for anything that was not a Click, leaving the
pending click intact — so click, drag, click at the same cell within
400ms was reported as a double-click. Same for a scroll or a keystroke
between the two.
Any non-click input now clears the pending click. Two clicks with
something in between are two clicks, however fast.
Reported in review on #48.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to the review comment on #48, which was already merged.
promote()early-returned for anything that wasn't aClickand left the pending click intact. So click → drag → click at the same cell within 400ms was reported as a double-click. Same for a scroll or a keystroke in between.Any non-click input now clears the pending click: two clicks with something between them are two clicks, however fast. Three regression tests — drag, keystroke, scroll.
The trade-off worth naming: a double-click where the mouse jitters enough for the terminal to emit a
Dragbetween the two downs will now register as two clicks. That is the right way round — a spurious dblclick firesAttachHighlightedand opens a session, while a missed one costs the user a second click.Verification
Reviewed
812861f8835d329e9127349686a7f0778f092e6f. No findings.