`frame-ancestors` is checked against every ancestor, not just the parent. A published app document is framed by the sandbox proxy, which is framed by the Inspector page — so admitting only the proxy's origin blocked the frame outright (it rendered as a chrome-error frame that never reached the bridge). `appDocumentEmbedders` now admits both. That failure was invisible to every unit test, so `smoke:web:app` grows a second phase: the same demo app declaring `_meta.ui.domain`, driven through the same connect → open → ready chain, then asserting the two facts that only hold on the dedicated path — the inner frame was navigated to a published document, and its own `location.origin` is a real http origin rather than "null". Both phases end at `data-app-status="ready"`, so nothing short of reading the frame's origin can tell them apart. Adds `test-servers/configs/mcp-app-domain-http.json` (and a `domain` param on the `mcp_app_demo_widget` preset) as the showcase server for both the smoke and hand testing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177mPHAdECD18nLLCTwR5rh Signed-off-by: cliffhall <cliff@futurescale.com>
17 lines
354 B
JSON
17 lines
354 B
JSON
{
|
|
"serverInfo": {
|
|
"name": "mcp-app-domain-showcase",
|
|
"version": "1.0.0"
|
|
},
|
|
"tools": [{ "preset": "echo" }, { "preset": "mcp_app_demo" }],
|
|
"resources": [
|
|
{
|
|
"preset": "mcp_app_demo_widget",
|
|
"params": { "domain": "my-app-domain.example.com" }
|
|
}
|
|
],
|
|
"transport": {
|
|
"type": "streamable-http",
|
|
"port": 3134
|
|
}
|
|
}
|