let meshLoaded = false;
let meshLoadPromise = null;
export function ensureMeshClient() {
if (meshLoaded) return Promise.resolve();
if (meshLoadPromise) return meshLoadPromise;
meshLoadPromise = new Promise((resolve, reject) => {
if (window.MobuxMesh) {
meshLoaded = true;
return resolve();
}
const s = document.createElement("script");
s.src = "/static/mesh-client.js";
s.async = false;
s.onload = () => {
meshLoaded = true;
resolve();
};
s.onerror = () => reject(new Error("Failed to load mesh-client.js"));
document.body.appendChild(s);
});
return meshLoadPromise;
}