DF8106: Connection Meta Not Served

The host cannot serve the RPC connection meta for devframe "{name}" (id "{id}") at "{base}" — its DevframeHost does not implement mountConnectionMeta.

Message

The host cannot serve the RPC connection meta for devframe "{name}" (id "{id}") at "{base}" — its DevframeHost does not implement mountConnectionMeta.

Cause

A mounted devframe's SPA fetches ./__connection.json relative to its base to discover the RPC endpoint, and ctx.install serves that file by calling the host's mountConnectionMeta(base). A devframe with servable clientAssets was installed on a DevframeHost that does not implement it, so the SPA connects only when it shares an origin with the hub UI (inheriting meta from the parent window); cross-origin, sandboxed, or directly-opened iframes stay disconnected.

Fix

Implement mountConnectionMeta(base) on your DevframeHost to serve __connection.json at each mounted base:

const host: DevframeHost = {
  mountStatic(base, distDir) { /* serve files */ },
  mountConnectionMeta(base) {
    // serve `${base}__connection.json` → { backend: 'websocket', websocket: port }
  },
  resolveOrigin() { /* … */ },
  getStorageDir(scope) { /* … */ },
}

A static-snapshot host that bakes __connection.json into its served files can implement it as a no-op to acknowledge this intentionally.

Source