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("");
|
if (!resp) return EL_STR("");
|
||||||
return resp;
|
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"
|
target "release"
|
||||||
entry "src/main.el"
|
entry "src/main.el"
|
||||||
output "dist/"
|
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,
|
// anchors, which the HTML5 parser resolves via the adoption agency algorithm,
|
||||||
// producing mismatched </div> tags that break gallery-grid's closing tag and
|
// producing mismatched </div> tags that break gallery-grid's closing tag and
|
||||||
// pull sibling elements into the grid as spurious grid items.
|
// 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 {
|
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 i: Int = 0
|
||||||
let cards_html: String = ""
|
let cards_html: String = ""
|
||||||
let n: Int = json_array_len(cards_json)
|
let n: Int = json_array_len(cards_json)
|
||||||
|
|||||||
Reference in New Issue
Block a user