From 7b5f797c95b3e6d9df975913b0a63d684ef7bb72 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 21 Jan 2026 08:13:00 +0000 Subject: [PATCH] refactor: move welcome modal logic to AppStateService The logic for deciding whether to show the welcome modal has been moved from `app.ts` to `AppStateService.ts`. The `getShowWelcomeDialog` function now accepts a boolean indicating whether a restore point exists and returns `false` if it does. This keeps the business logic out of the main application file and in the relevant service. --- apps/server/src/app.ts | 5 +---- .../server/src/services/app-state-service/AppStateService.ts | 4 +++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/server/src/app.ts b/apps/server/src/app.ts index b5da568d5..efa4028f8 100644 --- a/apps/server/src/app.ts +++ b/apps/server/src/app.ts @@ -184,10 +184,7 @@ export const startServer = async (): Promise<{ message: string; serverPort: numb // the express server must be started before the socket otherwise the on error event listener will not attach properly const resultPort = await serverTryDesiredPort(expressServer, desiredPort); await getDataProvider().setSettings({ ...settings, serverPort: resultPort }); - let showWelcome = await getShowWelcomeDialog(); - if (restorePoint) { - showWelcome = false; - } + const showWelcome = await getShowWelcomeDialog(!!restorePoint); socket.init(expressServer, showWelcome, prefix); diff --git a/apps/server/src/services/app-state-service/AppStateService.ts b/apps/server/src/services/app-state-service/AppStateService.ts index 45bfe05d3..2b6b64b25 100644 --- a/apps/server/src/services/app-state-service/AppStateService.ts +++ b/apps/server/src/services/app-state-service/AppStateService.ts @@ -46,10 +46,12 @@ export async function setLastLoadedRundown(rundownKey: string): Promise { await config.write(); } -export async function getShowWelcomeDialog(): Promise { +export async function getShowWelcomeDialog(restorePointExists: boolean): Promise { // in test environment, we do not want the dialog if (isTest) return false; + if (restorePointExists) return false; + await config.read(); return config.data.showWelcomeDialog ?? true; // default to true }