Context
test/playwright/e2e/grid/CellEditingPooling.spec.mjs › an edit born suspended on a locked column that cannot suspend is embodied, not cancelled merged today with #18898. Under a 12-worker mixed stress run (--repeat-each=25, together with the suspended-Tab spec) it failed 3 of 25 and 2 of 25, always at its first step: editingIn(page, 'c38', recordId) stayed false.
The Problem
The failing page snapshot shows a focused editor holding r3c32: the double-click aimed at the cell rendering c38 opened the editor on c32. The arm jumps the horizontal scrollbar to the far end, waits for the c38 cell to be visible and for the body's isScrolling to be false, then double-clicks. isScrolling: false is not "the last render of that jump has landed": the pool re-slots cells once more, and the pointer gesture lands on a slot that renders another column by then.
The arm is about a session born suspended on a locked column; how its first edit is activated is incidental.
The Architectural Reality
- Pooled cells: a DOM node is a slot, and the column it renders changes with the mounted column window (
grid.Body, mountedColumns).
selection.grid.CellModel is logical (view.getLogicalCellId(record, dataField)), and Enter on the View edits the SELECTED cell (grid.plugin.CellEditing#editSelectedCell) — no pointer position involved.
The Fix
Activate by selection plus Enter: click the c38 cell inside a toPass() retry until that cell carries neo-selected, then press Enter. Measured under the same stress: 25 of 25.
Acceptance Criteria
Out of Scope
- Whether a real user can hit the same thing (a double-click within a frame or two of a scroll jump editing a neighbouring column): sent as a defect-note, unproven — a render landing under the pointer and a worker-side slot mapping ahead of the DOM look the same from the arm.
KeyboardNavigationScroll.spec.mjs:40 (one CI sighting, 1 of 30 locally, not reproduced since).
Related
#18865 / PR #18898 · #18762
Live latest-open sweep: checked the latest 20 open issues at 2026-09-18T16:20Z; no equivalent. A2A sweep (latest 12): no claim. Own open assignments: #18910, #15252 — no overlap.
Origin Session ID: 323cb989-06a2-4b3f-8d70-912d67796c11
Context
test/playwright/e2e/grid/CellEditingPooling.spec.mjs›an edit born suspended on a locked column that cannot suspend is embodied, not cancelledmerged today with #18898. Under a 12-worker mixed stress run (--repeat-each=25, together with the suspended-Tab spec) it failed 3 of 25 and 2 of 25, always at its first step:editingIn(page, 'c38', recordId)stayed false.The Problem
The failing page snapshot shows a focused editor holding
r3c32: the double-click aimed at the cell renderingc38opened the editor onc32. The arm jumps the horizontal scrollbar to the far end, waits for thec38cell to be visible and for the body'sisScrollingto be false, then double-clicks.isScrolling: falseis not "the last render of that jump has landed": the pool re-slots cells once more, and the pointer gesture lands on a slot that renders another column by then.The arm is about a session born suspended on a locked column; how its first edit is activated is incidental.
The Architectural Reality
grid.Body,mountedColumns).selection.grid.CellModelis logical (view.getLogicalCellId(record, dataField)), and Enter on the View edits the SELECTED cell (grid.plugin.CellEditing#editSelectedCell) — no pointer position involved.The Fix
Activate by selection plus Enter: click the
c38cell inside atoPass()retry until that cell carriesneo-selected, then press Enter. Measured under the same stress: 25 of 25.Acceptance Criteria
--workers=12 --repeat-each=25next to the suspended-Tab spec; mutation P3 (wasEmbodieddropped) still reddens it.Out of Scope
KeyboardNavigationScroll.spec.mjs:40(one CI sighting, 1 of 30 locally, not reproduced since).Related
#18865 / PR #18898 · #18762
Live latest-open sweep: checked the latest 20 open issues at 2026-09-18T16:20Z; no equivalent. A2A sweep (latest 12): no claim. Own open assignments: #18910, #15252 — no overlap.
Origin Session ID: 323cb989-06a2-4b3f-8d70-912d67796c11