Peter Steinberger
605f48556b
refactor(browser): share lifecycle cleanup helpers
2026-04-04 12:17:46 +01:00
Peter Steinberger
bec891b2e2
test: cover attach-only browser stop cleanup ( #60097 ) (thanks @pedh)
2026-04-04 19:59:59 +09:00
pedh
2c9723afd5
fix(browser): disconnect Playwright CDP session on stop for attachOnly/remote profiles
...
When `browser stop` is called for an `attachOnly` or remote CDP
profile, `profileState.running` is null (no process was launched), so
`stopRunningBrowser()` returned early without closing the Playwright
CDP connection. This left emulation overrides (prefers-color-scheme,
viewport, etc.) permanently applied until a full gateway restart.
Now call `closePlaywrightBrowserConnectionForProfile()` before
returning for attachOnly and remote CDP profiles, matching the cleanup
behavior already present in `resetProfile()`. Regular profiles that
were never started still return `{ stopped: false }`.
Fixes #60095
2026-04-04 19:59:59 +09:00
Matt Van Horn
b22f6257f0
fix(browser): remove fromSurface: false for Chrome 146+ screenshot compat
2026-04-04 19:55:37 +09:00
Agustin Rivera
5da360cada
fix(browser): trim validation error prefix
2026-04-04 19:51:02 +09:00
Agustin Rivera
aefc6fc161
fix(browser): validate profile cdp urls
2026-04-04 19:51:02 +09:00
Peter Steinberger
bc356cc8c2
fix: harden direct CDP websocket validation ( #60469 ) (thanks @eleqtrizit)
2026-04-04 19:48:01 +09:00
Agustin Rivera
c3f8427973
fix(browser): validate initial cdp endpoints
2026-04-04 19:48:01 +09:00
Agustin Rivera
80720b4994
fix(browser): validate cdp websocket pivots
2026-04-04 19:48:01 +09:00
Peter Steinberger
1d5c57bad9
fix(ci): align browser and signal test expectations
2026-04-04 09:38:53 +01:00
Vincent Koc
c4d2c4899d
refactor(browser): lazy-load plugin registration
2026-04-04 15:17:44 +09:00
Peter Steinberger
1e6e685347
fix: unblock cli startup metadata
2026-04-04 02:35:36 +01:00
Vincent Koc
88d3b73c6d
fix(types): annotate portable exported helper types
2026-04-04 03:57:47 +09:00
Peter Steinberger
13bc70397a
test: trim test partial mocks
2026-04-03 19:10:56 +01:00
Peter Steinberger
636a23b73e
test: extract node builtin mock helpers
2026-04-03 18:40:28 +01:00
Peter Steinberger
e0580e6863
test: harden shared-worker runtime setup
2026-04-03 18:18:56 +01:00
Vincent Koc
745f1c9812
fix(types): align callers with removed legacy config aliases
2026-04-04 01:50:44 +09:00
Peter Steinberger
2a1a7ea6f9
fix(browser): route test support through sdk testing
2026-04-04 01:07:28 +09:00
Peter Steinberger
3aac90fc85
fix: restore browser-config sdk compatibility
2026-04-03 16:39:47 +01:00
Shakker
4528f8779e
test: localize browser config env helper
2026-04-03 16:39:47 +01:00
Shakker
a5b23f17fb
perf: split browser config sdk support
2026-04-03 16:39:47 +01:00
Shakker
f41a67b118
fix: restore browser and whatsapp boundary contracts
2026-04-03 16:39:47 +01:00
Shakker
2e520d112d
refactor: split browser sdk imports for sandbox and audit
2026-04-03 16:39:47 +01:00
Vincent Koc
6366010884
fix(ci): route extension test helpers through public sdk seams
2026-04-04 00:03:48 +09:00
Vincent Koc
62b1fe0b85
fix(ci): correct browser live test export
2026-04-03 23:07:20 +09:00
Vincent Koc
c1d68f213d
test(helpers): use direct internal seams
2026-04-03 23:00:28 +09:00
Vincent Koc
9bd05d3841
test(browser): stop reloading auth server module
2026-04-03 20:45:45 +09:00
Vincent Koc
d21d859ded
test(browser): stop reloading cdp screenshot module
2026-04-03 20:44:53 +09:00
Vincent Koc
9a53c3d772
test(browser): drop redundant module resets
2026-04-03 20:43:49 +09:00
Vincent Koc
5021b12ac1
perf(browser): trim invoke-browser test imports
2026-04-03 20:12:40 +09:00
Vincent Koc
fac89d403b
perf(browser): split remote profile tab op tests
2026-04-03 20:03:48 +09:00
Vincent Koc
c0a8d07fce
test(browser): collapse wrapper suite files
2026-04-03 19:18:49 +09:00
Vincent Koc
2bfbddb81f
perf(browser): remove duplicate heavy test wrappers
2026-04-03 18:57:05 +09:00
Peter Steinberger
9bba2ec0ad
test: trim extension teardown churn
2026-04-03 07:14:58 +01:00
Peter Steinberger
847faa3d04
test: trim extension test import churn
2026-04-03 04:41:08 +01:00
pgondhi987
462b4020bc
fix(browser): block SSRF redirect bypass via real-time route interception ( #58771 )
...
Install a Playwright route handler before `page.goto()` so navigations
to private/internal IPs are intercepted and aborted mid-redirect instead
of being checked post-hoc after the request already reached the internal
host. Blocked targets are permanently marked and rejected for subsequent
tool calls.
Thanks @pgondhi987
2026-04-02 09:07:57 -07:00
mappel-nv
9c22d63669
Browser: normalize localhost absolute-form CDP hosts ( #59236 )
...
* Browser: normalize localhost absolute-form CDP hosts
* CHANGELOG: note localhost absolute-form CDP fix
---------
Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com>
2026-04-02 13:34:55 +01:00
Peter Steinberger
8988894ff7
build: prepare 2026.4.1-beta.1 release
2026-04-01 15:09:19 +01:00
Vincent Koc
cb7c0e24d0
perf(test): trim more browser reload churn
2026-04-01 22:40:44 +09:00
Vincent Koc
dd5bf6b1d0
perf(test): cut more hotspot reload churn
2026-04-01 22:40:44 +09:00
Vincent Koc
7a7549f12f
perf(test): reduce hotspot reload churn ( #59033 )
2026-04-01 22:19:19 +09:00
Peter Steinberger
5c27f15fe6
test: drop browser plugin registration smoke
2026-04-01 03:03:27 +01:00
Han Yang
68ee3113a9
Fix: CDP profiles prefer cdpPort over stale WebSocket cdpUrl ( Resolves #58494 ) ( #58499 )
...
* fix(browser): prefer cdpPort over stale WebSocket cdpUrl for attach-only profiles
* fix(browser): preserve profile host when dropping stale devtools WS path
2026-03-31 21:09:31 -04:00
Peter Steinberger
9ea7e06460
build: bump version to 2026.4.1
2026-03-31 22:53:17 +01:00
Peter Steinberger
2a60e34f2a
build: prepare 2026.3.31 stable release
2026-03-31 21:32:38 +01:00
Peter Steinberger
91be36ca4f
build: prepare 2026.3.31-beta.1 release
2026-03-31 19:32:49 +01:00
Peter Steinberger
c425ef3e74
build: bump version to 2026.3.31
2026-03-31 15:48:00 +01:00
FMLS
44caf1ee3d
fix(browser): prevent cross-origin images from disappearing in CDP screenshots ( #54358 )
...
fromSurface: true + captureBeyondViewport: true triggers a Chromium compositor
bug where cross-origin image textures are lost when extending the capture
surface. Switch to fromSurface: false to use the software rendering path.
For full-page captures, temporarily expand the viewport via
Emulation.setDeviceMetricsOverride, preserving the current mobile/DPR/screen
state during capture and restoring it afterward so pre-existing device
emulation is not lost.
Made-with: Cursor
Co-authored-by: hakunaliu <hakunaliu@tencent.com>
2026-03-31 18:55:25 +08:00
Shakker
ab0af5997d
test: isolate browser snapshot navigation from proxy env
2026-03-31 01:40:55 +01:00
Shakker
e8b0d57eb6
test: isolate browser navigation tests from host proxy env
2026-03-30 18:10:08 +01:00