Chat UI Tests on windows-latest were dying at composer.wait_for(...)
with playwright TargetClosedError "Locator.wait_for: Target page,
context or browser has been closed". studio.log shows a clean POST
/api/auth/change-password 200 followed by zero further requests --
the page died as soon as the React app navigated after the
change-password submit. The root cause is the --single-process
Chromium flag in _CHROMIUM_STABILITY_ARGS: it was added in commit
fdf7f94f for the macos-14 free runner, where the browser <-> renderer
IPC pipe was the actual crash site, but on windows-latest the IPC
pipe is fine and forcing single-process strictly destabilises the
browser -- any in-flight renderer crash takes the whole context
down because there is no separate renderer process to recover into.
Make the flag conditional on sys.platform == "darwin" in both
playwright_chat_ui.py and playwright_extra_ui.py. Linux currently
passes either way today, so we mirror the original commit's stated
intent ("ci(mac): single-process Chromium") and only opt darwin in.
The accompanying timeout / screenshot-best-effort comments stay
correct -- they describe darwin-specific slowness that is still
real on the macos-14 runner.
Failing run for the record: 25522501202 / job 74909947457.