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
{{ message }}
Repository navigation
Suite green on Chrome 152, Windows and Go 1.23 #43
Spec: #33 (Baseline release). Section numbers refer to its Implementation Decisions.
What to build
The three failures the Snapshot shows on current toolchains are fixed rather than skipped, so the suite can run on the Target Chrome, on Windows and on Go 1.23 and later. This lands before the default browser becomes the Target Chrome, because the promise-leak test goes red the moment it does. Spec section 9; ticket #14, #15, #20.
Acceptance criteria
errors.Is(err, cdp.ErrCtxDestroyed) is true for both Execution context was destroyed. and Inspected target navigated or closed; ErrCtxNotFound is not merged in; upstream's promise-leak test passes unchanged against Chrome 152 or later and against Chromium 128.
The CDP client returns io.EOF for an in-flight call when the browser drops the connection on Linux, macOS and Windows (Windows' connection-reset error normalized); upstream's crash test passes on Windows with its intent unchanged; later calls report the closed connection.
The launcher's open-in-background test no longer constructs a zero-value os.Process and passes on Go 1.22, 1.23 and stable.
Verified locally on Windows and Linux; the Gate is green.
Input from #36 (minimal Gate). One of this ticket's acceptance criteria landed early, in #71: TestTestOpen no longer constructs a zero-value os.Process (Go 1.23 and later panic with handlePersistentRelease called in invalid mode when releasing one); the fake openExec now starts the test binary itself with -test.run=^$, a process that exists and exits at once. It passes on Go 1.23.7 locally and on Go 1.27.1 in the Gate. The Gate had to run on Go stable, so it could not wait for this ticket.
Two observations from the same work, left for this ticket to judge:
launcher.Open calls p.Process.Release() without checking the error of p.Start(); when the browser binary cannot start, Process is nil and Release dereferences it. Upstream's test hid this behind the zero-value process.
On the Ubuntu 24.04 runner the promise-leak test passes against the downloaded Chromium 128 (the Gate's browser today); the ErrCtxDestroyed message change still needs Chrome 152 or later to reproduce, as this ticket says.
Activity
Fly-Playgroud commentedon Sep 6, 2026
Input from #36 (minimal Gate). One of this ticket's acceptance criteria landed early, in #71:
TestTestOpenno longer constructs a zero-valueos.Process(Go 1.23 and later panic withhandlePersistentRelease called in invalid modewhen releasing one); the fakeopenExecnow starts the test binary itself with-test.run=^$, a process that exists and exits at once. It passes on Go 1.23.7 locally and on Go 1.27.1 in the Gate. The Gate had to run on Go stable, so it could not wait for this ticket.Two observations from the same work, left for this ticket to judge:
launcher.Opencallsp.Process.Release()without checking the error ofp.Start(); when the browser binary cannot start,Processis nil andReleasedereferences it. Upstream's test hid this behind the zero-value process.ErrCtxDestroyedmessage change still needs Chrome 152 or later to reproduce, as this ticket says.