fix(build): c_source stubs, manifest directives, gallery module-level global
Dev — Build & local smoke test / build-smoke (pull_request) Failing after 13m24s
Dev — Build & local smoke test / build-smoke (pull_request) Failing after 13m24s
Add window/neuronCheckoutFree stubs to web_stubs.c — needed to link without undefined symbol errors on macOS (vessel stubs were already handled, web platform stubs were not). Add c_source directives to manifest.el so elb includes web_stubs.c and vessel_stubs.c in the link — requires the matching elb update in foundation/el PR #46. Move gallery_share_allowlist from module scope into gallery_page() to prevent elc from emitting a second main() for the gallery module, which caused a duplicate-symbol link error when combined with main.el. Update elc-linux-amd64 binary (rebuilt with RBrace fix from PR #46).
This commit is contained in:
Binary file not shown.
Vendored
+6
@@ -325,3 +325,9 @@ el_val_t gcs_read(el_val_t bucket, el_val_t object_name) {
|
||||
if (!resp) return EL_STR("");
|
||||
return resp;
|
||||
}
|
||||
|
||||
/* Browser JS interop stubs — server-side no-ops for checkout.el browser globals.
|
||||
* checkout.el contains JS inline: window.neuronCheckoutFree&&window.neuronCheckoutFree()
|
||||
* which the El HTML parser exposes as C identifiers in the generated checkout.c. */
|
||||
el_val_t window = 0;
|
||||
el_val_t neuronCheckoutFree(el_val_t v) { (void)v; return 0; }
|
||||
|
||||
@@ -9,4 +9,6 @@ build {
|
||||
target "release"
|
||||
entry "src/main.el"
|
||||
output "dist/"
|
||||
c_source "dist/web_stubs.c"
|
||||
c_source "dist/vessel_stubs.c"
|
||||
}
|
||||
|
||||
+2
-2
@@ -12,9 +12,9 @@
|
||||
// anchors, which the HTML5 parser resolves via the adoption agency algorithm,
|
||||
// producing mismatched </div> tags that break gallery-grid's closing tag and
|
||||
// pull sibling elements into the grid as spurious grid items.
|
||||
let gallery_share_allowlist: String = "{\"p\":[],\"br\":[],\"strong\":[],\"em\":[],\"u\":[],\"s\":[],\"code\":[],\"pre\":[],\"ul\":[],\"ol\":[],\"li\":[],\"h1\":[],\"h2\":[],\"h3\":[],\"h4\":[],\"blockquote\":[]}"
|
||||
|
||||
fn gallery_page(cards_json: String, supabase_url: String, supabase_anon_key: String) -> String {
|
||||
// Moved from module-level to avoid duplicate main() when linked with other modules.
|
||||
let gallery_share_allowlist: String = "{\"p\":[],\"br\":[],\"strong\":[],\"em\":[],\"u\":[],\"s\":[],\"code\":[],\"pre\":[],\"ul\":[],\"ol\":[],\"li\":[],\"h1\":[],\"h2\":[],\"h3\":[],\"h4\":[],\"blockquote\":[]}"
|
||||
let i: Int = 0
|
||||
let cards_html: String = ""
|
||||
let n: Int = json_array_len(cards_json)
|
||||
|
||||
Reference in New Issue
Block a user