From f54c23777cc211097188130cf1bb30df0d922a2c Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 9 Sep 2022 01:15:51 -0700 Subject: [PATCH] backups - :lipstick: (#160478) --- src/vs/code/node/cliProcessMain.ts | 5 ++++- .../backup/electron-main/backupMainService.ts | 16 ++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts index 83b93b7898d9c..14dbbbb1783a5 100644 --- a/src/vs/code/node/cliProcessMain.ts +++ b/src/vs/code/node/cliProcessMain.ts @@ -116,7 +116,10 @@ class CliMain extends Disposable { services.set(INativeEnvironmentService, environmentService); // Init folders - await Promise.all([environmentService.appSettingsHome.fsPath, environmentService.extensionsPath].map(path => path ? Promises.mkdir(path, { recursive: true }) : undefined)); + await Promise.all([ + environmentService.appSettingsHome.fsPath, + environmentService.extensionsPath + ].map(path => path ? Promises.mkdir(path, { recursive: true }) : undefined)); // Log const logLevel = getLogLevel(environmentService); diff --git a/src/vs/platform/backup/electron-main/backupMainService.ts b/src/vs/platform/backup/electron-main/backupMainService.ts index 570a7bcf6c533..62dca09cec4f4 100644 --- a/src/vs/platform/backup/electron-main/backupMainService.ts +++ b/src/vs/platform/backup/electron-main/backupMainService.ts @@ -74,13 +74,17 @@ export class BackupMainService implements IBackupMainService { const legacyBackupWorkspacesPath = join(this.backupHome, 'workspaces.json'); const legacyBackupWorkspaces = await Promises.readFile(legacyBackupWorkspacesPath, 'utf8'); - await Promises.unlink(legacyBackupWorkspacesPath); + try { + await Promises.unlink(legacyBackupWorkspacesPath); + } catch (error) { + // ignore + } - const legacySserializedBackupWorkspaces = JSON.parse(legacyBackupWorkspaces) as ILegacySerializedBackupWorkspaces; + const legacySerializedBackupWorkspaces = JSON.parse(legacyBackupWorkspaces) as ILegacySerializedBackupWorkspaces; serializedBackupWorkspaces = { - workspaces: Array.isArray(legacySserializedBackupWorkspaces.rootURIWorkspaces) ? legacySserializedBackupWorkspaces.rootURIWorkspaces : [], - folders: Array.isArray(legacySserializedBackupWorkspaces.folderWorkspaceInfos) ? legacySserializedBackupWorkspaces.folderWorkspaceInfos : [], - emptyWindows: Array.isArray(legacySserializedBackupWorkspaces.emptyWorkspaceInfos) ? legacySserializedBackupWorkspaces.emptyWorkspaceInfos : [], + workspaces: Array.isArray(legacySerializedBackupWorkspaces.rootURIWorkspaces) ? legacySerializedBackupWorkspaces.rootURIWorkspaces : [], + folders: Array.isArray(legacySerializedBackupWorkspaces.folderWorkspaceInfos) ? legacySerializedBackupWorkspaces.folderWorkspaceInfos : [], + emptyWindows: Array.isArray(legacySerializedBackupWorkspaces.emptyWorkspaceInfos) ? legacySerializedBackupWorkspaces.emptyWorkspaceInfos : [], }; } catch (error) { if (error.code !== 'ENOENT') { @@ -89,7 +93,7 @@ export class BackupMainService implements IBackupMainService { } } - return serializedBackupWorkspaces ?? Object.create(null); + return serializedBackupWorkspaces ?? { workspaces: [], folders: [], emptyWindows: [] }; } protected getWorkspaceBackups(): IWorkspaceBackupInfo[] {