Iron9521
8e55503d77
fix(browser): track original port mapping for EADDRINUSE fallback
...
Address review feedback: when port fallback occurs, maintain mapping from
original requested port to the relay server for proper cleanup and reuse.
- Add relayByOriginalPort map to track original port -> relay
- Update ensureChromeExtensionRelayServer to check both maps
- Update stopChromeExtensionRelayServer to clean up both mappings
- Stop function now uses the relay's actual bound port for auth cleanup
2026-02-16 23:59:59 +01:00
Iron
0e6daa2e6e
fix(browser): handle EADDRINUSE with automatic port fallback
...
When the Chrome extension relay server fails to bind due to port
conflict (EADDRINUSE), automatically try alternative ports in the
dynamic range (49152-65535) instead of failing immediately.
This resolves issues where stale processes hold onto port 18792
after gateway restarts or crashes.
Fixes potential issues related to #8926 , #13867 , #17584
2026-02-16 23:59:59 +01:00
JayMishra-github
47f8c9209f
test: add tests for extraArgs filtering logic
...
Address review feedback: add tests covering empty strings,
non-strings, mixed arrays, and non-array inputs for extraArgs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:52:42 +01:00
JayMishra-github
cc3c25e413
fix: apply oxfmt 0.32.0 formatting (match CI version)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:52:42 +01:00
JayMishra-github
2977f7325d
fix: add extraArgs to sandbox browser config and apply oxfmt formatting
...
Add the missing extraArgs property to buildSandboxBrowserResolvedConfig
to satisfy the ResolvedBrowserConfig type, and fix import ordering.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:52:42 +01:00
JayMishra-github
039fc1e04c
feat(browser): add extraArgs config for custom Chrome launch arguments
...
Adds a `browser.extraArgs` config option (string array) that is appended
to Chrome's launch arguments. This enables users to add stealth flags,
window size overrides, custom user-agent strings, or other Chrome flags
without patching the source code.
Example config:
browser.extraArgs: ["--window-size=1920,1080", "--disable-infobars"]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-16 23:52:42 +01:00
Peter Steinberger
93ca0ed54f
refactor(channels): dedupe transport and gateway test scaffolds
2026-02-16 14:59:31 +00:00
Peter Steinberger
ac02e45a88
test: drop redundant empty-profile extraction cases
2026-02-16 06:25:18 +00:00
Tag
6802b155a8
fix: stop LLM retry loop when browser control service is unavailable ( #17673 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 90f47fe13289feecb36b75d289d1efee171a25fa
Co-authored-by: tag-assistant <260167501+tag-assistant@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-15 21:53:49 -05:00
Peter Steinberger
5529473af9
perf(test): fold browser server-context helper into utils suite
2026-02-16 00:18:27 +00:00
Peter Steinberger
1287abe0b5
perf(test): consolidate browser utility tests
2026-02-16 00:18:27 +00:00
Peter Steinberger
92f8c0fac3
perf(test): speed up suites and reduce fs churn
2026-02-15 19:29:27 +00:00
Peter Steinberger
a2c695126d
refactor(browser): reuse CDP fetch helpers
2026-02-15 18:27:02 +00:00
Peter Steinberger
7ef956d224
refactor(browser): share client-actions url helpers
2026-02-15 18:22:10 +00:00
Peter Steinberger
234d69f83f
refactor(browser): dedupe request record lookup
2026-02-15 16:11:28 +00:00
Peter Steinberger
46392e033c
refactor(browser): dedupe role snapshot parsing
2026-02-15 07:06:50 +00:00
Peter Steinberger
64aff2d0ca
perf(browser): isolate profile hot-reload config refresh
2026-02-15 05:21:23 +00:00
Peter Steinberger
28014de974
refactor(browser): share common server middleware
2026-02-15 04:46:10 +00:00
Vignesh Natarajan
fc6d821611
Browser: avoid single-page target lookup hang under blocked CDP attach
2026-02-14 16:13:07 -08:00
Peter Steinberger
aeb953bdf4
refactor(test): reuse chrome json list stubs
2026-02-14 21:30:48 +00:00
Peter Steinberger
09fa33f7e2
refactor(test): share pw-tools-core test setup
2026-02-14 21:20:43 +00:00
Peter Steinberger
91c30f46f7
test: isolate browser server auth env (evaluate gating)
2026-02-14 20:12:26 +00:00
Peter Steinberger
31295c8341
test: isolate browser server auth env
2026-02-14 20:12:26 +00:00
Peter Steinberger
186ecd2161
refactor(test): reuse browser control server harness
2026-02-14 19:04:39 +00:00
Peter Steinberger
4133f4bd37
refactor(tui): clarify searchable select list width layout ( #16378 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: fecbade822f8163f12b7da441b567acb42e6f809
Co-authored-by: steipete <58493+steipete@users.noreply.github.com >
Co-authored-by: steipete <58493+steipete@users.noreply.github.com >
Reviewed-by: @steipete
2026-02-14 19:15:38 +01:00
Peter Steinberger
09e2160080
test(browser): add file-chooser traversal regression
2026-02-14 18:20:20 +01:00
Peter Steinberger
dee3abfcd5
refactor(test): share browser control server harness
2026-02-14 17:13:24 +00:00
Peter Steinberger
b769b65b48
refactor(browser): share proxy file helpers
2026-02-14 15:39:45 +00:00
Peter Steinberger
a6fbd0393d
fix(browser): annotate csrf middleware type
2026-02-14 15:54:29 +01:00
Peter Steinberger
b566b09f81
fix(security): block cross-origin mutations on loopback browser routes
2026-02-14 15:51:09 +01:00
Peter Steinberger
493f6f458b
perf(test): speed up browser test suites
2026-02-14 14:25:54 +00:00
Peter Steinberger
1a7e180e68
refactor(media): normalize inbound MediaType/MediaTypes defaults ( #16233 )
...
* refactor(media): normalize inbound media type defaults
* test(browser): fix Windows path expectation in file chooser hook
2026-02-14 15:18:19 +01:00
Peter Steinberger
3aa94afcfd
fix(security): harden archive extraction ( #16203 )
...
* fix(browser): confine upload paths for file chooser
* fix(browser): sanitize suggested download filenames
* chore(lint): avoid control regex in download sanitizer
* test(browser): cover absolute escape paths
* docs(browser): update upload example path
* refactor(browser): centralize upload path confinement
* fix(infra): harden tmp dir selection
* fix(security): harden archive extraction
* fix(infra): harden tar extraction filter
2026-02-14 14:42:08 +01:00
Peter Steinberger
ec399aaddf
perf(test): parallelize unit-isolated
2026-02-14 13:01:02 +00:00
Peter Steinberger
af50b914a4
refactor(browser): centralize http auth
2026-02-14 13:30:11 +01:00
Peter Steinberger
cd84885a4a
test(browser): cover bridge auth registry fallback
2026-02-14 13:23:24 +01:00
Peter Steinberger
6dd6bce997
fix(security): enforce sandbox bridge auth
2026-02-14 13:17:41 +01:00
Peter Steinberger
4711a943e3
fix(browser): authenticate sandbox browser bridge server
2026-02-14 12:54:16 +01:00
Nick Taylor
1fb52b4d7b
feat(gateway): add trusted-proxy auth mode ( #15940 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 279d4b304f83186fda44dfe63a729406a835dafa
Co-authored-by: nickytonline <833231+nickytonline@users.noreply.github.com >
Co-authored-by: steipete <58493+steipete@users.noreply.github.com >
Reviewed-by: @steipete
2026-02-14 12:32:17 +01:00
Peter Steinberger
7f227fc8cc
perf(test): avoid heavy browser barrels in pw-ai tests
2026-02-14 03:13:32 +00:00
Peter Steinberger
dd08ca97bb
perf(test): reduce import and fixture overhead in hot tests
2026-02-14 02:49:19 +00:00
Peter Steinberger
63711330e4
perf(test): dedupe browser/telegram coverage and trim batch retry cost
2026-02-14 02:37:09 +00:00
Peter Steinberger
0b8227fa92
perf(test): trim redundant suites and tighten wait loops
2026-02-14 02:02:03 +00:00
Peter Steinberger
8d52ed318d
perf(test): narrow browser maxchars smoke to core contract
2026-02-14 01:52:10 +00:00
Peter Steinberger
c4f550ef2a
perf(test): trim browser smoke and speed canvas test reload
2026-02-14 01:47:47 +00:00
Peter Steinberger
db8cabedde
perf(test): reduce lock wait and fixture setup overhead
2026-02-14 01:42:47 +00:00
Peter Steinberger
0c00dd92a4
perf(test): parallelize browser control validation requests
2026-02-14 01:42:47 +00:00
Peter Steinberger
8796bfaaac
perf(test): consolidate browser and canvas hotspot suites
2026-02-14 01:07:23 +00:00
Peter Steinberger
2e84ae7019
perf(test): consolidate browser profile CRUD checks
2026-02-14 01:02:14 +00:00
Peter Steinberger
e7c3c27fd0
perf(test): trim browser and models suite overhead
2026-02-14 00:38:55 +00:00