Commit Graph

530 Commits

Author SHA1 Message Date
Shakker
f7646f9fde test: shutter browser tab cleanup urls 2026-05-12 21:47:37 +01:00
Shakker
542ee2f77b test: fix browser tab error guidance 2026-05-12 18:47:21 +01:00
Pavan Kumar Gondhi
b6a94d4ef9 Require auth for sandbox browser CDP relay [AI] (#81002)
* fix: require auth for sandbox browser cdp relay

* addressing review-skill

* addressing review-skill

* addressing review-skill

* addressing codex review

* addressing claude review

* docs: add changelog entry for PR merge
2026-05-12 19:37:32 +05:30
Peter Steinberger
8f645dba24 test: dedupe browser registration mock calls 2026-05-12 14:24:31 +01:00
Peter Steinberger
f6d787cc5c build: hard-pin dependency specs 2026-05-12 07:10:13 +01:00
Peter Steinberger
c98698aa0e chore: release 2026.5.12-beta.1 2026-05-12 06:33:41 +01:00
Peter Steinberger
f55491b208 chore: update dependencies 2026-05-12 06:31:48 +01:00
Peter Steinberger
0e28f4f70f test: guard browser tab selection mock calls 2026-05-12 02:15:06 +01:00
Peter Steinberger
95b6c10fc7 test: guard browser session mock calls 2026-05-12 02:00:53 +01:00
Peter Steinberger
4bf3016096 test: guard browser batch mock calls 2026-05-12 01:57:53 +01:00
Peter Steinberger
4bde5b6dfa test: guard browser agent contract mock calls 2026-05-12 01:56:24 +01:00
Peter Steinberger
b09733dab2 test: guard browser node host mock calls 2026-05-12 01:42:58 +01:00
Peter Steinberger
83154d8470 test: guard browser gateway mock calls 2026-05-12 01:38:09 +01:00
Peter Steinberger
85c57a42b4 test: guard browser route reachability mock calls 2026-05-12 01:29:34 +01:00
Peter Steinberger
8486c69315 test: guard browser chrome mock calls 2026-05-12 01:23:39 +01:00
Peter Steinberger
8ef408bc5e test: guard browser server launch mock calls 2026-05-12 01:15:28 +01:00
Peter Steinberger
7f8d37bdcc test: guard browser control auth mock calls 2026-05-12 01:14:22 +01:00
Peter Steinberger
9947c50968 test: guard browser snapshot mock calls 2026-05-12 01:13:24 +01:00
Peter Steinberger
2547f4f1ee test: guard browser download save mock calls 2026-05-12 01:12:12 +01:00
Peter Steinberger
25ac449801 test: guard browser session fallback mock calls 2026-05-12 01:10:57 +01:00
Peter Steinberger
9afdd3ae3b test: guard browser cli mock calls 2026-05-12 01:09:27 +01:00
Peter Steinberger
3029da8ef9 test: guard browser profile mock calls 2026-05-12 01:06:55 +01:00
Peter Steinberger
c4df9c7135 test: guard browser service mock calls 2026-05-12 01:05:53 +01:00
Peter Steinberger
5fca39feeb test: guard browser doctor mock calls 2026-05-12 01:04:41 +01:00
Peter Steinberger
af30c02ca5 test: guard browser loopback mock calls 2026-05-12 01:03:05 +01:00
Peter Steinberger
4fed265d05 test: guard browser internal cdp mock calls 2026-05-12 01:01:22 +01:00
Peter Steinberger
3d9d474c0d test: guard browser cdp mock calls 2026-05-12 00:59:00 +01:00
Peter Steinberger
dc5fedeae0 test: avoid browser tab module reset 2026-05-11 21:59:40 +01:00
Peter Steinberger
6eccb0d3bf test: guard extension helper null checks 2026-05-11 21:18:51 +01:00
Peter Steinberger
63af3bcfdb test: guard remaining truthiness assertions 2026-05-11 20:45:49 +01:00
Peter Steinberger
60cdb99733 test: guard browser dispatcher assertions 2026-05-11 19:48:44 +01:00
AI-HUB
738f78519a fix(browser): skip internal CDP targets (#80629) 2026-05-11 19:36:22 +01:00
Peter Steinberger
4fb37c9a2d test: guard browser helper assertions 2026-05-11 19:31:28 +01:00
Peter Steinberger
e17dfb0014 test: guard extension mock helpers 2026-05-11 19:19:27 +01:00
Peter Steinberger
1533324a5a test: use immediate for browser websocket close fixtures 2026-05-11 18:41:00 +01:00
Peter Steinberger
ad5549a57b test: use immediate for browser cdp close fixtures 2026-05-11 18:39:43 +01:00
Shakker
678c2c070d test: verify browser policy responses 2026-05-11 16:36:47 +01:00
Shakker
80175cfb74 test: verify browser route values 2026-05-11 16:33:31 +01:00
Shakker
c5e481eeb1 test: verify cdp connection options 2026-05-11 16:31:57 +01:00
Shakker
3e332426fc test: check browser navigation page handles 2026-05-11 15:58:55 +01:00
Shakker
2a42e4743f test: check browser doctor notes 2026-05-11 15:57:53 +01:00
Peter Steinberger
9074f08fc3 test: tighten channel assertion checks 2026-05-11 15:15:12 +01:00
Shakker
fd7448299f test: pin browser state errors 2026-05-11 15:07:16 +01:00
Peter Steinberger
ed6d72efcf test: tighten browser mcp assertions 2026-05-11 14:50:16 +01:00
Peter Steinberger
5dbeacabc9 test: tighten browser route assertions 2026-05-11 14:47:22 +01:00
Peter Steinberger
248207dace test: tighten browser server assertions 2026-05-11 14:45:43 +01:00
Peter Steinberger
1320e0ec80 test: tighten qa lab web assertions 2026-05-11 14:36:53 +01:00
Shakker
6f3fd2410c test: pin browser fallback calls 2026-05-11 14:32:39 +01:00
Peter Steinberger
ee9522ef8d fix: keep browser status page probe within timeout 2026-05-11 12:51:07 +01:00
ai-hpc
b4a420185c fix(browser): add pageReady to Chrome MCP existing-session status
Closes #80268

For Chrome MCP existing-session profiles, browser status previously
exposed only transport-handshake fields (cdpHttp, cdpReady) sourced
from isTransportAvailable(...). It did not surface whether a
page-level tool round-trip (list_pages, etc.) actually succeeds, so
operators and downstream tooling had no honest signal to distinguish
"transport handshake passed" from "page tools are usable".

This adds a pageReady field to BrowserStatus, derived from
profileCtx.isReachable(...) for chrome-mcp profiles (with a status-
bound 5s timeout) and mirroring cdpReady for managed CDP profiles
where the WS handshake already covers page-level reachability.

The status route opts the page probe into ephemeral mode so a passive
status call does not seed a persistent cached Chrome MCP session as a
side effect. listChromeMcpTabs reuses an existing cached attach
session if one already exists, otherwise opens a temporary session
that is closed immediately after the round-trip. The cached-session
path used by /tabs and other interactive routes is unchanged.

isReachable now threads the new ephemeral option (alongside timeoutMs)
into listChromeMcpTabs; existing callers in tabs.ts pass only
timeoutMs and continue to use the cached path.

The page probe is skipped when transport itself is down so status
latency does not regress on offline profiles.

Test changes:
- basic.existing-session.test.ts: the prior assertion that running:
  true and cdpReady: true with isReachable: false is now flipped to
  assert pageReady: false in that state, matching the new contract.
- New tests cover: probe-throws (treated as page-down), both-succeed
  (pageReady: true), transport-down (probe skipped, pageReady: false),
  and an ephemeral-mode regression that asserts the status probe
  passes { ephemeral: true } so it cannot seed a cached session.
2026-05-11 12:51:07 +01:00