Release Vantage viewer after failed loads [skip ci]

This commit is contained in:
SCOPEDD committed 2026-09-30 11:05:21 -04:00
1 parent 602e7fd0f0
commit 7076e847ea
1 file changed
+11 -1
+11 -1
View File
@@ -124,8 +124,18 @@
const body = result.data ? Uint8Array.from(atob(result.data), (c) => c.charCodeAt(0)) : null; const body = result.data ? Uint8Array.from(atob(result.data), (c) => c.charCodeAt(0)) : null;
return new Response(body, { status: result.status, headers: result.etag ? { etag: result.etag } : {} }); return new Response(body, { status: result.status, headers: result.etag ? { etag: result.etag } : {} });
} }) : Promise.resolve(world); } }) : Promise.resolve(world);
return vantage.VantageViewer.mount(host, { world: await source, view: 'top', players: { offline: false } }); const resolved = await source;
if (cancelled) return null;
const v = new vantage.VantageViewer(host, { view: 'top', players: { offline: false } });
try {
await v.load({ world: resolved, view: 'top' });
return v;
} catch (e) {
v.dispose();
throw e;
}
}).then((v) => { }).then((v) => {
if (!v) return;
if (cancelled) { v.dispose(); return; } if (cancelled) { v.dispose(); return; }
viewer = v; viewer = v;
ready = true; ready = true;