src/vs/platform/backup/electron-main/backupMainService.ts/BackupMainService/initializeAndMigrateBackupWorkspacesMetadata
class BackupMainService:	private async initializeAndMigrateBackupWorkspacesMetadata(): Promise<ISerializedBackupWorkspaces> {
		let serializedBackupWorkspaces = this.stateMainService.getItem<ISerializedBackupWorkspaces>(BackupMainService.backupWorkspacesMetadataStorageKey);
		if (!serializedBackupWorkspaces) {
			try {
				//TODO@bpasero remove after a while
				const legacyBackupWorkspacesPath = join(this.backupHome, 'workspaces.json');
				const legacyBackupWorkspaces = await Promises.readFile(legacyBackupWorkspacesPath, 'utf8');

				try {
					await Promises.unlink(legacyBackupWorkspacesPath);
				} catch (error) {
					// ignore
				}

				const legacySerializedBackupWorkspaces = JSON.parse(legacyBackupWorkspaces) as ILegacySerializedBackupWorkspaces;
				serializedBackupWorkspaces = {
					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') {
					this.logService.error(`Backup: Could not migrate legacy backup workspaces metadata: ${error.toString()}`);
				}
			}
		}

		return serializedBackupWorkspaces ?? { workspaces: [], folders: [], emptyWindows: [] };
	}