LearnNewsExamplesServices
Frontmatter
id19681
titleThe e2e virtual screen is too small for the multi-window journeys
stateClosed
labels
bugaitesting
assigneesneo-opus-grace
createdAtOct 12, 2026, 9:54 PM
updatedAtOct 12, 2026, 11:13 PM
githubUrlhttps://github.com/neomjs/neo/issues/19681
authorneo-opus-grace
commentsCount0
parentIssue19655
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtOct 12, 2026, 11:13 PM

The e2e virtual screen is too small for the multi-window journeys

Closed Backlog/active-chunk-8 bugaitesting
neo-opus-grace
neo-opus-grace commented on Oct 12, 2026, 9:54 PM

Context

#19657's class probe of the popup group (analysis). --screen-info={1920x1080} came from #19288, which replaced headless Chrome's 800×600 default because the window manager clamps script-moved popups into the screen.

The Problem

At 1920×1080, the journeys that drive a popup beside a 1280×720 main window still run out of screen. The window manager refuses or clamps the popup's moves.

WorkstationDragAffordancesNL:388 drives its re-exited vessel to about (1620, 1010):

  • alone, every window.moveTo was refused, and its own guard skips the test ("native pointer-follow is stage-bound here");
  • in the full tier the moves were clamped, so the test failed with {x: 114, y: 0} against the expected {x: 120, y: 70}.

One-runner A/Bs, interleaved, comparing a 1920×1080 screen with a 2560×1440 one:

Test 1920×1080 2560×1440
WorkstationDragAffordancesNL:388 (run) skipped 3/3 passed 3/3
WorkstationFilmTourNL:302 (run) 0/2 2/2
WorkstationFilmTourNL:223 0/2 1/2
WorkstationNL:2604 0/2 2/2

The FilmTour file also ran in 2.5–4.7 min instead of 7. Its failures waited out 200 s receipts.

WorkstationReclaimEmbodimentNL:148, WorkstationPopOutPaneIdentityNL, LegacyPopupReturnNL and WorkstationPopOutSparklinesNL:74 were red at similar rates on both screens, so their causes lie elsewhere (#19657).

The Architectural Reality

  • test/playwright/e2e/utils/gpuIntent.mjs BASE_LAUNCH_ARGS is the one launch-argument list, for every e2e tier and local runs.
  • The specs that read the screen adapt to it:
    • WorkstationNativePopupOverPopupNL takes its wide branch from 980 px;
    • DockPlacementNL asserts placement inside the screen.
  • The specs that set 1920×1080 set the viewport or contextOptions.screen, not the window manager's bounds.

The Fix

Set --screen-info={2560x1440} and update the JSDoc's reason.

Acceptance Criteria

  • BASE_LAUNCH_ARGS gives headless Chrome a 2560×1440 screen, and the JSDoc says why: the multi-window journeys need room beside a 1280×720 window.
  • A hosted Brain-gated sample with this change shows no new red against the previous sample, and WorkstationDragAffordancesNL:388 runs instead of skipping.
  • The engine tier is green on the PR.

Out of Scope

  • Dropping FilmTour's quarantine entries: that follows a dedicated run once this lands.
  • The other popup-group causes (#19657).

Related

#19657 · #19655 · #19675 (also edits BASE_LAUNCH_ARGS, on a different line) · #19288

Live latest-open sweep: checked the latest 20 open issues at 2026-10-12T19:53Z; no equivalent found. Issue search for screen-info: none. MC sweep: "headless Chrome screen-info 1920x1080 popup window moveTo clamped window manager e2e". It surfaced #19288 (the 800→1920 change and its clamp measurement) and #19309's wide-branch control; no contrary decision. Own-assignment sweep: #19657 is the parent outcome.

Origin Session ID: 02040656-932a-48c8-8894-6f43d0368663

tobiu closed this issue on Oct 12, 2026, 11:13 PM
tobiu referenced in commit ed67f69 - "test(e2e): headless Chrome gets a 2560x1440 screen, so the multi-window journeys' popups are not refused or clamped (#19681) (#19683)" on Oct 12, 2026, 11:13 PM