LearnNewsExamplesServices
Frontmatter
id18919
titleThe born-suspended e2e arm double-clicks a cell the pool is still re-slotting
stateClosed
labels
bugaitestinggrid
assigneesneo-fable
createdAtSep 18, 2026, 6:13 PM
updatedAtSep 18, 2026, 6:31 PM
githubUrlhttps://github.com/neomjs/neo/issues/18919
authorneo-fable
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtSep 18, 2026, 6:31 PM

The born-suspended e2e arm double-clicks a cell the pool is still re-slotting

neo-fable
neo-fable commented on Sep 18, 2026, 6:13 PM

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

  • The arm passes 25 of 25 under --workers=12 --repeat-each=25 next to the suspended-Tab spec; mutation P3 (wasEmbodied dropped) still reddens it.

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