From 7f43ce494bb55d2d5e17643bb4448d61a6713003 Mon Sep 17 00:00:00 2001 From: Laurin Weger Date: Mon, 20 Oct 2025 01:25:55 +0200 Subject: [PATCH] quick hack, wait for ng init --- .../src/app/pages/index.astro | 2 +- sdk/js/signals/src/connector/initNg.ts | 10 +++++++++- .../signals/src/connector/ormConnectionHandler.ts | 15 ++++++++++++--- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/sdk/js/examples/multi-framework-signals/src/app/pages/index.astro b/sdk/js/examples/multi-framework-signals/src/app/pages/index.astro index f2d77f5..712ab54 100644 --- a/sdk/js/examples/multi-framework-signals/src/app/pages/index.astro +++ b/sdk/js/examples/multi-framework-signals/src/app/pages/index.astro @@ -24,7 +24,7 @@ const title = "Multi-framework app"; }; }) => { console.log("ng web initialized. event.status, session_id:", event.status, event.session.session_id); - initNg(ng); + initNg(ng, session); }, true, [] diff --git a/sdk/js/signals/src/connector/initNg.ts b/sdk/js/signals/src/connector/initNg.ts index 96873e9..95d937a 100644 --- a/sdk/js/signals/src/connector/initNg.ts +++ b/sdk/js/signals/src/connector/initNg.ts @@ -2,6 +2,14 @@ import * as NG from "@ng-org/lib-wasm"; export let ng: typeof NG; -export function initNg(ngImpl: typeof NG) { +export function initNg( + ngImpl: typeof NG, + session: { + session_id: unknown; + protected_store_id: unknown; + private_store_id: unknown; + public_store_id: unknown; + } +) { ng = ngImpl; } diff --git a/sdk/js/signals/src/connector/ormConnectionHandler.ts b/sdk/js/signals/src/connector/ormConnectionHandler.ts index 6180480..2ecdb90 100644 --- a/sdk/js/signals/src/connector/ormConnectionHandler.ts +++ b/sdk/js/signals/src/connector/ormConnectionHandler.ts @@ -74,8 +74,17 @@ export class OrmConnection { this.resolveReady = resolve; }); - // Establish connection to wasm land. - ng.orm_start(scope, shapeType, this.sessionId, this.onBackendMessage); + new Promise(async () => { + // Establish connection to wasm land. + await new Promise((resolve) => setTimeout(resolve, 100)); + + ng.orm_start( + scope, + shapeType, + this.sessionId, + this.onBackendMessage + ); + }); } /** @@ -89,7 +98,7 @@ export class OrmConnection { shapeType: ShapeType, scope: Scope ): OrmConnection { - if (!ng) throw new Error("initNg was not called yet."); + // if (!ng) throw new Error("initNg was not called yet."); const scopeKey = canonicalScope(scope);