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