Skip to content

Dashboard: preview widget — live URL embed, dev-server preview, browser-backed inspection #101138

Description

@100yenadmin

A live preview panel your agent can build, point at a dev server, and watch — the Codex/Claude preview loop, as a dashboard widget.

Part of the Modular Dashboard roadmap — see the tracker #101136. Builds on Wave 1 (#101093; PRs #101094 / #101097 / #101098).

Problem

Operators and maintainers have asked for a browser/preview panel in the dashboard for a long time (#27574). And agents that build UIs need to see what they built to iterate — today they're flying blind. Both want the same thing: a live, embeddable preview surface that's part of the workspace.

What this adds

  • A trusted builtin:preview widget that renders a URL (a running dev server or a deployed preview) with reload + viewport / device-frame controls.
  • Phase 2: an agent-driven dev-server lifecycle — a gateway method to spawn/own a dev server, so the agent runs it, wires the preview to its URL, and the preview hot-reloads on change.
  • Phase 3: a browser-backed mode that reads the preview's console + network and can screenshot it, so the agent sees its own output and iterates (the preview_* capability, as a widget).

How it'd be built

Start from the existing builtin:iframe-embed widget (ui/src/lib/dashboard/widgets/iframe-embed.ts: renderIframeEmbed, evaluateEmbedUrl, resolveEmbedSandbox), register a new builtin:preview kind via BUILTIN_WIDGET_RENDERERS (ui/src/lib/dashboard/widgets/index.ts) + BUILTIN_KIND_PATTERN (extensions/dashboard/src/schema.ts), and add reload + viewport chrome around the frame. This is a trusted builtin — not a sandboxed custom widget — precisely because phases 2–3 need capabilities we'd never grant agent-authored code (spawn a process, read console). Phase 1 (this issue) is the embed + chrome; phases 2–3 are follow-on issues.

References

Tier 1 — high-value builtins. Pairs with the "dashboard-design" skill (screenshot-and-iterate).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions