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)}`, }; } }