Skip to content

History / SSR Cancellation

Revisions

  • docs(ssr-data-plugin): close audit-2026-05-16 — wiki sync Companion to the main-repo audit closure (test(ssr-data-plugin): close audit-2026-05-16). Wiki side: - New SSR-Cancellation.md: replaces a broken link from packages/ssr-data-plugin/README.md and CLAUDE.md. Covers three signal sources (request-scoped via cloneRouter, per-navigation, per-loader withTimeout deadline), manual wiring vs createRequestScope helper, withTimeout's composed AbortSignal semantics (pre-aborted upstream short-circuit, cooperative cancellation, late-rejection absorption), the robust upfront signal.aborted check pattern, and HTTP 504 mapping via the structural .code discriminator. - ssr-data-plugin.md updates: - §5 Interception Mechanism: subscribeLeave revalidation listener row added (was missing — CSR revalidation channel #605 was hidden). - §5 Data Flow: rewritten to show all 4 namespaces (data / ssrDataMode / ssrDataDeferred / ssrDataDeferredKeys), client-only skip branch, hydration-scratchpad reuse path, and isDeferred() split. Previous diagram only showed `data`, predating #610. - §14 wire format: serialize/serializeError/bootstrap option semantics expanded with defaults + panic-fallback chain for serializeError. - §15 NEW — Composition with @real-router/rsc-server-plugin: side-by- side usage on the same router, namespace separation table, claim independence (invalidate("data") leaves rsc cached and vice versa). _Sidebar.md is intentionally NOT in this commit — it has pre-existing unrelated unstaged changes that should be sorted separately. Add a [SSR Cancellation](./SSR-Cancellation) link under Concepts and SSR/SSG when convenient.

    @greydragon888 greydragon888 committed May 16, 2026