Commit Graph

91 Commits

Author SHA1 Message Date
Peter Steinberger 987bbe6545 test(browser): assert remote CDP retry timeouts correctly 2026-04-06 15:22:23 +01:00
ThanhNguyxn07 2a1a49bd41 fix(browser): retry remote CDP websocket readiness before failing
Remote browser profiles can pass HTTP reachability while Browser.getVersion on the CDP websocket is still warming up right after restart. Add one retry in ensureBrowserAvailable for remote CDP profiles and cover it with a regression test.

Fixes #57397

Co-authored-by: ThanhNguyxn <thanhnguyentuan2007@gmail.com>
2026-04-06 15:22:23 +01:00
Vincent Koc 4b2d528345 fix(plugins): finish channel lint cleanup 2026-04-06 14:48:35 +01:00
Vincent Koc 029290c8d0 fix(plugins): clean fifth channel lint batch 2026-04-06 14:45:22 +01:00
Peter Steinberger b1c98e8469 test: stabilize browser and provider ci shards 2026-04-06 03:38:28 +01:00
Peter Steinberger 3584d28141 refactor: harden plugin metadata and browser sdk seams 2026-04-05 23:35:02 +01:00
Peter Steinberger 471d056e2f refactor: move browser runtime seams behind plugin metadata 2026-04-05 23:13:14 +01:00
Peter Steinberger ce8492f9a0 chore: bump version to 2026.4.5 2026-04-05 21:33:04 +01:00
Peter Steinberger acd78e0c2f refactor: split browser sdk seams 2026-04-05 17:17:16 +01:00
Peter Steinberger 6f2f840e97 refactor: collapse plugin sdk extension shims 2026-04-05 15:44:53 +01:00
Peter Steinberger 629baf5fa7 refactor: move plugin setup and memory capabilities to registries 2026-04-05 14:53:53 +01:00
Peter Steinberger 67d6fc8847 chore(plugins): sync versions to 2026.4.4 2026-04-04 20:03:01 +01:00
Peter Steinberger e3ac0f43df feat(qwen): add qwen provider and video generation 2026-04-04 19:34:56 +01:00
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