Skip to content

[P1] Minimal embeddable widget (Web Component + Shadow DOM + dialog) #6

Description

@thorwhalen

One script tag, framework-agnostic, no install. Default (minimal) capture only.

  • Tiny async loader (buffered command queue) + versioned bundle
  • Web Component with open Shadow DOM; native <dialog> modal (avoids Radix/focus-trap-in-Shadow-DOM breakage)
  • Declarative data-* auto-mount + imperative init({...})
  • Default capture: screenshot (modern-screenshot/html-to-image) + page URL + env; lazy-load the rasterizer
  • POST a Report; thin optional React wrapper over the same element

Note: client screenshots are DOM re-renders (break on cross-origin/canvas/CSS) and can bake in PII — see #6. Lives under widget/. Design: design.md (Widget architecture) · #1

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase-1Phase 1 (core widget→issue)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions