Fix project reopen persistence

This commit is contained in:
=
2026-06-10 19:10:59 +08:00
parent 7195dea7cd
commit d577edf348
7 changed files with 262 additions and 53 deletions
+12 -3
View File
@@ -5261,11 +5261,20 @@ Organization : OptiHK Limited
}
const data = await response.json();
(data.warnings || []).forEach(warning => addLog(warning));
const technology = data.technology || '';
setProjectTechnology(technology);
const manifest = await loadTechnologyManifest(technology);
const knownCompositeNames = new Set((data.cells || []).map(cell => cell.name).filter(name => name !== currentProjectName));
const parsedCellPages = (data.cells || []).map(cell => pageFromYaml(cell.name, cell.content, manifest, knownCompositeNames));
const loadedCells = data.cells || [];
const knownCompositeNames = new Set(loadedCells.map(cell => cell.name).filter(name => name !== currentProjectName));
const parsedCellPages = [];
loadedCells.forEach(cell => {
try {
parsedCellPages.push(pageFromYaml(cell.name, cell.content, manifest, knownCompositeNames));
} catch (error) {
addLog(`Skipped saved cell "${cell.name}": ${error.message}`);
}
});
const compositeBoxSizes = new Map(parsedCellPages
.filter(page => page.type === 'composite')
.map(page => [page.name, calculateCompositeBoxSize(page)]));
@@ -5327,7 +5336,7 @@ Organization : OptiHK Limited
};
loadProject();
}, [library, currentProjectName, loadTechnologyManifest, toBooleanFlag, makeFreeRouteEdge, buildElementNodesFromYaml, getAvailableComponentsForLoadedComponent, resolveLoadedPinHandle]);
}, [library, currentProjectName, loadTechnologyManifest, toBooleanFlag, makeFreeRouteEdge, buildElementNodesFromYaml, getAvailableComponentsForLoadedComponent, resolveLoadedPinHandle, addLog]);
useEffect(() => {
if (activePage && activePage.type !== 'layoutPreview' && reactFlowInstance) {