Merge branch 'dev'
This commit is contained in:
commit
21b8a24267
|
|
@ -384,20 +384,25 @@ export class FolkBlender extends FolkShape {
|
|||
this.#renderResult();
|
||||
}
|
||||
|
||||
// Health check
|
||||
// Health check with retry (container may still be starting)
|
||||
const checkHealth = (attempt = 0) => {
|
||||
fetch("/api/blender-gen/health").then(r => r.json()).then((h: any) => {
|
||||
if (!h.available && this.#generateBtn) {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = (h.issues || []).join(", ") || "Blender service unavailable";
|
||||
} else if (h.warnings?.length && this.#generateBtn) {
|
||||
this.#generateBtn.title = h.warnings.join(", ");
|
||||
}
|
||||
}).catch(() => {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
if (this.#generateBtn) {
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = "Cannot reach Blender health endpoint";
|
||||
}
|
||||
});
|
||||
};
|
||||
checkHealth();
|
||||
|
||||
return root;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -311,18 +311,23 @@ export class FolkFreeCAD extends FolkShape {
|
|||
this.#renderResult();
|
||||
}
|
||||
|
||||
// Health check
|
||||
// Health check with retry (container may still be starting)
|
||||
const checkHealth = (attempt = 0) => {
|
||||
fetch("/api/freecad/health").then(r => r.json()).then((h: any) => {
|
||||
if (!h.available && this.#generateBtn) {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = h.error || "FreeCAD MCP server unavailable";
|
||||
}
|
||||
}).catch(() => {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
if (this.#generateBtn) {
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = "Cannot reach FreeCAD health endpoint";
|
||||
}
|
||||
});
|
||||
};
|
||||
checkHealth();
|
||||
|
||||
return root;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -397,18 +397,23 @@ export class FolkKiCAD extends FolkShape {
|
|||
this.#showExports();
|
||||
}
|
||||
|
||||
// Health check
|
||||
// Health check with retry (container may still be starting)
|
||||
const checkHealth = (attempt = 0) => {
|
||||
fetch("/api/kicad/health").then(r => r.json()).then((h: any) => {
|
||||
if (!h.available && this.#generateBtn) {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = h.error || "KiCAD MCP server unavailable";
|
||||
}
|
||||
}).catch(() => {
|
||||
if (attempt < 2) { setTimeout(() => checkHealth(attempt + 1), 3000); return; }
|
||||
if (this.#generateBtn) {
|
||||
this.#generateBtn.disabled = true;
|
||||
this.#generateBtn.title = "Cannot reach KiCAD health endpoint";
|
||||
}
|
||||
});
|
||||
};
|
||||
checkHealth();
|
||||
|
||||
return root;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ import {
|
|||
cascadePermissions,
|
||||
listCommunities,
|
||||
deleteCommunity,
|
||||
updateSpaceMeta,
|
||||
} from "./community-store";
|
||||
import type { NestPermissions, SpaceRefFilter } from "./community-store";
|
||||
import { ensureDemoCommunity } from "./seed-demo";
|
||||
|
|
@ -3696,7 +3697,7 @@ loadAllDocs(syncServer)
|
|||
})
|
||||
.catch((e) => console.error("[DocStore] Startup load failed:", e));
|
||||
|
||||
// Restore relay mode for encrypted spaces
|
||||
// Restore relay mode for encrypted spaces + one-shot visibility fixes
|
||||
(async () => {
|
||||
try {
|
||||
const slugs = await listCommunities();
|
||||
|
|
@ -3712,6 +3713,16 @@ loadAllDocs(syncServer)
|
|||
if (relayCount > 0) {
|
||||
console.log(`[Encryption] ${relayCount} space(s) set to relay mode (encrypted)`);
|
||||
}
|
||||
|
||||
// One-shot: fix spaces that should be permissioned
|
||||
const fixPermissioned = ["clf", "bcrg"];
|
||||
for (const slug of fixPermissioned) {
|
||||
const data = getDocumentData(slug);
|
||||
if (data && data.meta?.visibility !== "permissioned") {
|
||||
updateSpaceMeta(slug, { visibility: "permissioned" });
|
||||
console.log(`[VisFix] Set ${slug} to permissioned (was: ${data.meta?.visibility})`);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("[Encryption] Failed to restore relay modes:", e);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue