Fix signal-add-sub! losing subscribers after remove, fix build pipeline
signal-add-sub! used (append! subscribers f) which returns a new list for immutable List but discards the result — after signal-remove-sub! replaces the subscribers list via dict-set!, re-adding subscribers silently fails. Counter island only worked once (0→1 then stuck). Fix: use (dict-set! s "subscribers" (append ...)) to explicitly update the dict field, matching signal-remove-sub!'s pattern. Build pipeline fixes: - sx-build-all.sh now bundles spec→dist and recompiles .sxbc bytecode - compile-modules.js syncs .sx source files alongside .sxbc to wasm/sx/ - Per-file cache busting: wasm, platform JS, and sxbc each get own hash - bundle.sh adds cssx.sx to dist Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,8 @@
|
||||
(body-html :as string?)
|
||||
(asset-url :as string)
|
||||
(wasm-hash :as string?)
|
||||
(platform-hash :as string?)
|
||||
(sxbc-hash :as string?)
|
||||
(inline-css :as string?)
|
||||
(inline-head-js :as string?)
|
||||
(init-sx :as string?))
|
||||
@@ -74,8 +76,12 @@
|
||||
:type "text/sx"
|
||||
:data-mount "#sx-root"
|
||||
(raw! (or page-sx "")))
|
||||
(let
|
||||
((wv (or wasm-hash "0")))
|
||||
(<>
|
||||
(script :src (str asset-url "/wasm/sx_browser.bc.wasm.js?v=" wv))
|
||||
(script :src (str asset-url "/wasm/sx-platform-2.js?v=" wv))))))))
|
||||
(<>
|
||||
(script
|
||||
:src (str
|
||||
asset-url
|
||||
"/wasm/sx_browser.bc.wasm.js?v="
|
||||
(or wasm-hash "0")))
|
||||
(script
|
||||
:src (str asset-url "/wasm/sx-platform-2.js?v=" (or platform-hash "0"))
|
||||
:data-sxbc-hash (or sxbc-hash "0")))))))
|
||||
|
||||
Reference in New Issue
Block a user