diff --git a/apps/server/src/app.ts b/apps/server/src/app.ts index 10ebac57d..97dc6898a 100644 --- a/apps/server/src/app.ts +++ b/apps/server/src/app.ts @@ -32,7 +32,7 @@ import { logger } from './classes/Logger.js'; import { populateStyles } from './setup/loadStyles.js'; import { eventStore } from './stores/EventStore.js'; import { runtimeService } from './services/runtime-service/RuntimeService.js'; -import { restoreService } from './services/RestoreService.js'; +import { RestorePoint, restoreService } from './services/RestoreService.js'; import * as messageService from './services/message-service/message.service.js'; import { populateDemo } from './setup/loadDemo.js'; import { getState } from './stores/runtimeState.js'; @@ -142,11 +142,16 @@ const checkStart = (currentState: OntimeStartOrder) => { } }; +let restorePoint: RestorePoint | null = null; + export const initAssets = async (escalateErrorFn?: (error: string, unrecoverable: boolean) => void) => { checkStart(OntimeStartOrder.InitAssets); // initialise logging service, escalateErrorFn only exists in electron logger.init(escalateErrorFn); + // load restore point if it exists + restorePoint = await restoreService.load(); + await clearUploadfolder(); populateStyles(); await populateDemo(); @@ -215,10 +220,8 @@ export const startServer = async (): Promise<{ message: string; serverPort: numb // initialise message service messageService.init(eventStore.set, eventStore.get); - // load restore point if it exists - const maybeRestorePoint = await restoreService.load(); - - runtimeService.init(maybeRestorePoint); + // apply the restore point if it exists + runtimeService.init(restorePoint); const nif = getNetworkInterfaces(); consoleSuccess(`Local: http://localhost:${resultPort}${prefix}/editor`);