Files
openclaw/qa/scenarios/runtime/gateway-hosted-web.yaml
Peter Steinberger ae55a4090c refactor(canvas): make the panel a widget presenter (#126030)
* refactor(canvas): retire legacy host and commands

* refactor(apple): narrow shared Canvas contracts

* refactor(macos): keep Canvas as widget presenter

* refactor(ios): remove Canvas client

* refactor(android): remove Canvas client

* refactor(linux): remove Canvas client

* fix(ci): isolate native locale artifacts

* fix(linux): regenerate companion lockfile

* fix(canvas): refresh native tool display metadata

* test(canvas): align coverage with presenter surface

* test(canvas): remove obsolete asset root seam

* test(canvas): stabilize retirement CI coverage

* refactor(swift): remove orphaned resource wrapper

* test(ios): remove retired canvas layout assertion

* fix(macos): reserve retired canvas command namespace

* refactor(macos): isolate canvas command policy

* fix(canvas): select only eligible macOS panels

* fix(canvas): keep panel selection plugin-owned
2026-08-19 08:21:07 -07:00

34 lines
1.5 KiB
YAML

title: Gateway hosted web surfaces
scenario:
id: gateway-hosted-web
surface: runtime
coverage:
primary:
- gateway.admin-api-access
- gateway.control-ui
- gateway.plugin-web-routes
- gateway.canvas-and-a2ui-routes
objective: Prove that one authenticated Gateway listener serves its Control UI, public admin route, and Canvas-owned A2UI renderer assets.
successCriteria:
- The Gateway serves real Control UI HTML with its security headers.
- The opt-in admin HTTP RPC route rejects unauthenticated requests and dispatches health through the live Gateway context.
- Public admin and Canvas plugin entrypoints register routes that win before the Control UI fallback.
- A real operator WebSocket receives a capability-scoped Canvas surface URL.
- Both capability-scoped A2UI renderer bundles work, while wrong and expired capabilities are rejected.
docsRefs:
- docs/gateway/index.md
- docs/plugins/admin-http-rpc.md
- docs/web/control-ui.md
- docs/platforms/mac/canvas.md
codeRefs:
- extensions/admin-http-rpc/index.ts
- extensions/canvas/index.ts
- src/gateway/server-runtime-state.ts
- src/gateway/server/ws-connection/connect-session.ts
- test/e2e/qa-lab/runtime/gateway-hosted-web.e2e.test.ts
execution:
kind: vitest
path: test/e2e/qa-lab/runtime/gateway-hosted-web.e2e.test.ts
summary: Start a real token-authenticated Gateway and exercise Control UI, admin RPC, and capability-scoped A2UI renderer assets.