Restore stashed WIP: live streaming plan, forms, CI pipeline, streaming demo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 22:07:59 +00:00
parent df1aa4e1d1
commit 5a68046bd8
21 changed files with 1463 additions and 120 deletions

View File

@@ -664,6 +664,15 @@
(has-io (and io-deps (not (empty? io-deps)))))
;; Ensure IO deps are registered as proxied primitives
(when has-io (register-io-deps io-deps))
(if (get match "stream")
;; Streaming page: fetch with streaming body reader.
;; First chunk = OOB SX swap (shell with skeletons),
;; subsequent chunks = resolve scripts filling slots.
(do (log-info (str "sx:route streaming " pathname))
(fetch-streaming target pathname
(build-request-headers target
(loaded-component-names) _css-hash))
true)
(if (get match "has-data")
;; Data page: check cache, else resolve asynchronously
(let ((cache-key (page-data-cache-key page-name params))
@@ -727,7 +736,7 @@
(do (log-info (str "sx:route server (eval failed) " pathname)) false)
(do
(swap-rendered-content target rendered pathname)
true)))))))))))))))))
true))))))))))))))))))
(define bind-client-route-link