Skip to content

feat(hub-ui): support seamless iframe presentation - #300

Closed
dvcolomban wants to merge 2 commits into
devframes:mainfrom
dvcolomban:codex/feat-seamless-iframe
Closed

feat(hub-ui): support seamless iframe presentation#300
dvcolomban wants to merge 2 commits into
devframes:mainfrom
dvcolomban:codex/feat-seamless-iframe

Conversation

@dvcolomban

@dvcolomban dvcolomban commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

What changed

  • add presentation?: 'default' | 'seamless' to iframe dock entries
  • make the reference Hub UI remove iframe address chrome, opaque loading and panel surfaces, borders, shadows, and corner radii for seamless entries
  • preserve seamless presentation across shared-frame synthesized tabs
  • allow createUi({ viewer: { background: 'transparent' } }) to publish a transparent standalone viewer surface before first paint
  • document both opt-in APIs and update their public API snapshots

Why

Some Hub consumers embed a complete dashboard or another Hub viewer inside an existing devtools surface. The iframe element itself can be borderless while the surrounding address bar, loading background, panel material, or embedded document background still creates a visible rectangular seam.

Presentation belongs to the viewer, but an iframe entry needs a portable way to express that it is intended to share its host's visual surface. The standalone viewer also needs an explicit transparent mode so its document does not repaint that surface from inside the frame.

Visual comparison

Default presentation Seamless presentation
Default iframe presentation with viewer chrome Seamless iframe presentation without viewer chrome

Compatibility

Both capabilities are opt-in. Existing iframe entries and createUi() calls retain their current presentation. Other viewers may support seamless with an equivalent treatment or keep their default rendering.

Validation

  • Hub frame-navigation and Hub UI viewer-option tests: 12 passed
  • Hub and Hub UI public API snapshot tests
  • Hub and Hub UI typechecks
  • ESLint on changed TypeScript and Vue files
  • Hub, Hub UI node, standalone viewer, and embedded viewer builds
  • Storybook comparison fixture rendered in both default and seamless modes

@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

@dvcolomban is attempting to deploy a commit to the NuxtLabs Team on Vercel.

A member of the Team first needs to authorize it.

@dvcolomban dvcolomban closed this Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant