From 37bd8adf81ced600a49b7fe3cce671d055bd71f4 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Tue, 8 Sep 2026 17:44:13 +0200 Subject: [PATCH] docs: record the async-route (choo#653) design as a Phase 3 deliverable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deliberately deferred so the SSR half (toStream) ships together with the browser half — the missing server story is what stalled the original PR. API shape goes to the RFC. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014NgfSjHE11oFpoSnLVKLXd --- docs/v8.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/v8.md b/docs/v8.md index d0dc40e..949504c 100644 --- a/docs/v8.md +++ b/docs/v8.md @@ -47,7 +47,14 @@ everything new lives under `packages/`. - [ ] Phase 2 (remaining): adoption-style hydration with mismatch warnings, Playwright suite in a real browser, benchmarks vs nanohtml v1 / µhtml -- [ ] Phase 3: v8 wiring (`toStream`, devtools, codemod) +- [ ] Phase 3: v8 wiring (`toStream`, devtools, codemod). Includes the + answer to choojs/choo#653 (async/lazy routes): route handlers may + resolve lazily via native import(); browser renders previous tree + or a loading view until resolution, server awaits inside toStream + (toString stays sync and fails loudly). Deliberately deferred until + toStream exists so the SSR half ships with the browser half — the + missing server story is what stalled #653. API shape (thenable + handler vs lazy() wrapper vs loader-view option) goes to the RFC. - [ ] Phase 4: bankai v10 (Vite 8/Rolldown shell, SSR middleware, 103 Early Hints, service worker, precompression) - [ ] Phase 5: docs, examples, launch