From d3a9b3f0568d5e20bb18f155d9e7d6f2f5ff7820 Mon Sep 17 00:00:00 2001 From: Max Richter Date: Wed, 26 Nov 2025 12:10:25 +0100 Subject: [PATCH] fix: make node wasm loading work --- .../lib/graph-interface/graph-manager.svelte.ts | 2 +- app/src/lib/settings/NestedSettings.svelte | 10 ++++++---- app/src/lib/settings/app-settings.svelte.ts | 8 ++++++++ packages/registry/src/node-registry-client.ts | 14 +++++++------- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/src/lib/graph-interface/graph-manager.svelte.ts b/app/src/lib/graph-interface/graph-manager.svelte.ts index 5605929..4dcfa63 100644 --- a/app/src/lib/graph-interface/graph-manager.svelte.ts +++ b/app/src/lib/graph-interface/graph-manager.svelte.ts @@ -88,7 +88,7 @@ export class GraphManager extends EventEmitter<{ ]) as Graph["edges"]; const serialized = { id: this.graph.id, - settings: this.settings, + settings: $state.snapshot(this.settings), nodes, edges, }; diff --git a/app/src/lib/settings/NestedSettings.svelte b/app/src/lib/settings/NestedSettings.svelte index 8bb59c9..11c72b7 100644 --- a/app/src/lib/settings/NestedSettings.svelte +++ b/app/src/lib/settings/NestedSettings.svelte @@ -4,7 +4,7 @@ import type { NodeInput } from "@nodes/types"; import Input from "@nodes/ui"; - type Button = { type: "button"; label?: string }; + type Button = { type: "button"; callback: () => void; label?: string }; type InputType = NodeInput | Button; @@ -99,7 +99,7 @@ Array.isArray((node as any).options) && typeof internalValue === "number" ) { - value[key] = (node as any).options[internalValue] as any; + value[key] = (node as any)?.options?.[internalValue] as any; } else { value[key] = internalValue as any; } @@ -110,11 +110,13 @@
{#if type[key].type === "button"} - {:else} - + {#if type[key]?.label !== false} + + {/if} {/if}
diff --git a/app/src/lib/settings/app-settings.svelte.ts b/app/src/lib/settings/app-settings.svelte.ts index 349a82b..1894452 100644 --- a/app/src/lib/settings/app-settings.svelte.ts +++ b/app/src/lib/settings/app-settings.svelte.ts @@ -89,6 +89,14 @@ export const AppSettingTypes = { label: "Show Stem Lines", value: false, }, + logging: { + title: "Logging", + logLevel: { + type: "select", + label: false, + options: ["info","warning","error"] + } + }, stressTest: { title: "Stress Test", amount: { diff --git a/packages/registry/src/node-registry-client.ts b/packages/registry/src/node-registry-client.ts index 4d27624..f416aed 100644 --- a/packages/registry/src/node-registry-client.ts +++ b/packages/registry/src/node-registry-client.ts @@ -37,7 +37,7 @@ export class RemoteNodeRegistry implements NodeRegistry { constructor( private url: string, private cache?: AsyncCache, - ) {} + ) { } async fetchUsers() { return this.fetchJson(`nodes/users.json`); @@ -56,17 +56,17 @@ export class RemoteNodeRegistry implements NodeRegistry { } private async fetchNodeWasm(nodeId: `${string}/${string}/${string}`) { - const cachedNode = this.cache?.get(nodeId); - if(cachedNode){ + const cachedNode = await this.cache?.get(nodeId); + if (cachedNode) { return cachedNode; } - const node = this.fetchArrayBuffer(`nodes/${nodeId}.wasm`); - if (node) { - return node; + const node = await this.fetchArrayBuffer(`nodes/${nodeId}.wasm`); + if (!node) { + throw new Error(`Failed to load node wasm ${nodeId}`); } - throw new Error(`Failed to load node wasm ${nodeId}`); + return node; } async load(nodeIds: `${string}/${string}/${string}`[]) {