Repository navigation
Fix stuck tab ghost when drag input restarts - #692
Conversation
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Claude diff review of 6030e00 (no tests executed). Review of PR #692 @ 6030e00Diff-only review; I did not verify Confirmed defects (reasoning is closed over the diff text itself)1.
|
|
@kshivang Thanks for the concrete mouse-input reproduction of #690, the exact-instance session ownership, and the clear distinction between the reproduced restart and the unproven live incident. I reviewed head I am moving this to draft for focused reconciliation and acceptance coverage:
Claude review reconciliation: the claimed Validation: all 10 reported Build & Test checks pass on the submitted head (Supabase preview skipped). I downloaded macOS run 34912735876's XML and independently confirmed 22 targeted tests, zero failures/errors/skips: chip cancellation 2, session 5, reorder 15. |
75ebc71 to
628f152
Compare
56b3e1b to
4eb36a4
Compare
|
Claude diff review of a027cc1 (no tests executed). SummaryThe change replaces per-handler drag bookkeeping with a I reviewed only the diff; I have not run anything and cannot see the unchanged call sites of Confirmed defects / issues1.
|
|
Claude diff review of 088da0c (no tests executed). Review — PR #692 @
|
Extracts an owned drag-session abstraction used by the host's shared pointer handler. Cancellation, callback failures and stale handlers can clear only their own drag, and a refused second start cannot claim an existing gesture.
This branch includes #627's stable tab identity, live callbacks and current-index drop resolution. Merge #627 first, then this follow-up; both retain dev as their target so the normal PR CI runs. Title/index changes now preserve the intended drag through release, rather than cancelling it. The original implementation, investigation and contributor history are retained.
Adds real mouse coverage for chip reindexing/removal, full-button removal, component replacement, and starting another drag after interruption. Session tests cover coroutine teardown, exceptions, replacement ownership, refused starts and cross-pane release. Native-release cleanup already on dev is preserved.
Validation at
589146374: 36 focused tests pass with zero failures/skips; common-main and desktop-test ktlint plus composeApp detekt pass. Current-head GitHub checks must also pass. No application was launched; manual dragging over the hardware browser surface remains unverified.Related: #690, #627, #1614. Investigation:
docs/investigations/tab-drag-ghost-690.md.