Fix island hydration double-render bug, add marshes plan
Client-rendered islands were re-hydrated by boot.sx because renderDomIsland didn't mark them as processed. Hydration read empty data-sx-state, overwriting kwargs (e.g. path) with NIL. Fix: mark-processed! in adapter-dom.sx so boot skips them. New plan: marshes — where reactivity and hypermedia interpenetrate. Three patterns: server writes to signals, reactive marsh zones with transforms, and signal-bound hypermedia interpretation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -637,8 +637,9 @@
|
||||
(let ((container (dom-create-element "span" nil))
|
||||
(disposers (list)))
|
||||
|
||||
;; Mark as island
|
||||
;; Mark as island + already hydrated (so boot.sx skips it)
|
||||
(dom-set-attr container "data-sx-island" island-name)
|
||||
(mark-processed! container "island-hydrated")
|
||||
|
||||
;; Render island body inside a scope that tracks disposers
|
||||
(let ((body-dom
|
||||
|
||||
Reference in New Issue
Block a user