Skip to content

streaming/islands: resumability (Qwik-style) — research spike #1753

@glennmichael123

Description

@glennmichael123

Spun out of #1746 (now feature-complete and closed). Phase 4 — resumability — was always scoped there as out-of-near-term research, so tracking it separately.

Goal

Skip hydration entirely: serialize component state + lazily wire events on first interaction (Qwik-style), instead of re-running setup on the client. The deepest, most speculative part of the islands direction.

Why separate

#1746 delivered the shippable architecture — opt-in islands (client="…", per-island chunking) and streaming SSR (dev + production, streamBoundaries/@stream, in-boundary hydration). Resumability is a different model (serialize-and-resume vs hydrate) and warrants its own design spike rather than blocking the umbrella.

Starting points

  • The island scope IIFEs and data-stx-scope/data-stx-island wiring already isolate per-component setup.
  • window.stx._stores SSR hydration (window.__STX_STORE_STATE__) is a precedent for serializing state.
  • Event wiring is centralized in the signals runtime's processElement — a candidate seam for lazy/deferred event attachment.

Research spike: prototype serialize-state + lazy-event-wiring for one island; measure vs the current hydrate path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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