From 1ed9227c01611cda9139ca5df8fe715b32568fb1 Mon Sep 17 00:00:00 2001 From: mauro-balades Date: Thu, 3 Oct 2024 19:38:51 +0200 Subject: [PATCH] Added workspaces migration system --- src/ZenWorkspaces.mjs | 2 +- src/ZenWorkspacesStorage.mjs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ZenWorkspaces.mjs b/src/ZenWorkspaces.mjs index add6900..181ad6b 100644 --- a/src/ZenWorkspaces.mjs +++ b/src/ZenWorkspaces.mjs @@ -234,7 +234,7 @@ var ZenWorkspaces = new class extends ZenMultiWindowFeature { } workspaceHasIcon(workspace) { - return typeof workspace.icon !== 'undefined' && workspace.icon !== ''; + return workspace.icon && workspace.icon !== ''; } getWorkspaceIcon(workspace) { diff --git a/src/ZenWorkspacesStorage.mjs b/src/ZenWorkspacesStorage.mjs index cb427f7..ddf4c4a 100644 --- a/src/ZenWorkspacesStorage.mjs +++ b/src/ZenWorkspacesStorage.mjs @@ -19,6 +19,19 @@ var ZenWorkspacesStorage = { ) `); }); + await this._migrateWorkspacesFromJSON(); + }, + + async _migrateWorkspacesFromJSON() { + const oldWorkspacesPath = PathUtils.join(PathUtils.profileDir, 'zen-workspaces', 'Workspaces.json'); + if (await IOUtils.exists(oldWorkspacesPath)) { + console.info('ZenWorkspacesStorage: Migrating workspaces from JSON...'); + const oldWorkspaces = await IOUtils.readJSON(oldWorkspacesPath); + for (const workspace of oldWorkspaces.workspaces) { + await this.saveWorkspace(workspace); + } + await IOUtils.remove(oldWorkspacesPath); + } }, async saveWorkspace(workspace) {