From 876ee662d95e7c2c8ffc85305d80c39bfa67cd5a Mon Sep 17 00:00:00 2001 From: Jack Kavanagh Date: Fri, 5 Sep 2025 18:00:19 +0200 Subject: [PATCH] fix: workspace create fails on windows (#9101) * logs * add awaits to backup and block app start --- packages/insomnia/src/entry.main.ts | 3 ++- packages/insomnia/src/main/backup.ts | 7 ++++--- ...on.$organizationId.project.$projectId.workspace.new.tsx | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/insomnia/src/entry.main.ts b/packages/insomnia/src/entry.main.ts index 134b1ee48b..a344c4bead 100644 --- a/packages/insomnia/src/entry.main.ts +++ b/packages/insomnia/src/entry.main.ts @@ -102,6 +102,8 @@ app.on('ready', async () => { // Init some important things first await database.init(); await _createModelInstances(); + // backup needs the channel from settings which needs the database + await backupIfNewerVersionAvailable(); sentryWatchAnalyticsEnabled(); watchProxySettings(); windowUtils.init(); @@ -321,7 +323,6 @@ async function _trackStats() { }); ipcMainOnce('halfSecondAfterAppStart', async () => { - backupIfNewerVersionAvailable(); const { currentVersion, launches, lastVersion } = stats; const firstLaunch = launches === 1; diff --git a/packages/insomnia/src/main/backup.ts b/packages/insomnia/src/main/backup.ts index f181e1b828..4b1dd46db7 100644 --- a/packages/insomnia/src/main/backup.ts +++ b/packages/insomnia/src/main/backup.ts @@ -23,7 +23,7 @@ export async function backupIfNewerVersionAvailable() { ); if (response) { console.log('[main] Found newer version'); - backup(); + await backup(); return; } console.log('[main] No newer version'); @@ -44,11 +44,12 @@ export async function backup() { return; } const files = await readdir(dataPath); - files.forEach(async (file: string) => { + for (const file of files) { if (file.endsWith('.db')) { await copyFile(path.join(dataPath, file), path.join(versionPath, file)); } - }); + } + console.log('[main] Exported backup to:', versionPath); } catch (err) { console.log('[main] Error exporting backup:', err); diff --git a/packages/insomnia/src/routes/organization.$organizationId.project.$projectId.workspace.new.tsx b/packages/insomnia/src/routes/organization.$organizationId.project.$projectId.workspace.new.tsx index 7d629938cc..984488ed22 100644 --- a/packages/insomnia/src/routes/organization.$organizationId.project.$projectId.workspace.new.tsx +++ b/packages/insomnia/src/routes/organization.$organizationId.project.$projectId.workspace.new.tsx @@ -178,8 +178,10 @@ export async function clientAction({ request, params }: Route.ClientActionArgs) })}/${scopeToActivity(workspace.scope)}`, ); } catch (err) { + console.error('Error creating workspace:', err); + return { - error: `Failed to create workspace: ${err instanceof Error ? err.message : String(err)}`, + error: `Failed to create workspace: ${err instanceof Error ? err.message : JSON.stringify(err)}`, }; } }