You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(test): the android instance now tests true phone geometry
The shared browser setup forced its 1280x720 iframe onto every project —
on the android instance (a 393x727 phone window) the harness then scaled
that desktop-width iframe down to fit, so every suite without its own
per-test viewport was silently testing desktop layout, optically shrunk.
Positional input was displaced by the same transform, which had been
misread as 'mouse idioms don't translate to touch emulation'. The setup
now sizes the iframe per project.
Touch emulation also gets self-healing: Chromium's beyond-viewport
screenshot capture (captureBeyondViewport, sent by Playwright for any
element taller than the viewport) can silently drop the context's touch
emulation. A restoreTouchEmulation command (persistent CDP session —
Emulation overrides revert when their session detaches) re-arms it before
every android test, and ensureTouchEmulation runs as an automatic
assertion right after, so no suite calls it manually anymore. The assert
stays because it guards a different failure than the heal: the mechanism
itself breaking (provider contextOptions silently ignored, an upgrade
rewiring the provider).
At true geometry the include list is re-grounded on one principle,
stated per entry in the config: a suite runs on this instance when it
can go red for a mobile-conditional reason no other suite here pins.
form/ drops out — its popover suite drives the desktop link toolbar
(hover, clipped at phone width) and its Enter mechanics are pinned
red-first by mobile/ and keyboardhandlers/. copypaste/ drops out — the
clipboard path has no platform conditionals at all, and its Enter
presses are setup scaffolding for routes androidEnter pins directly.
emojipicker/ stays: Enter-to-select goes through the suggestion menu's
own key handling, a distinct consumer of the synthesized-Enter route.
0 commit comments