Merge pull request #41 from kristijanribaric/fix(workspaces-migration-sync)-make-sure-migrated-workspaces-are-synced

fix(workspaces): Migrate workspaces from JSON to the new storage after sync engine has been registered.
This commit is contained in:
mauro 🤙 2024-10-06 17:08:59 +02:00 committed by GitHub
commit 8213592bb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 4 deletions

View file

@ -21,6 +21,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
await ZenWorkspacesStorage.init();
if(!Weave.Service.engineManager.get("workspaces")) {
Weave.Service.engineManager.register(ZenWorkspacesEngine);
await ZenWorkspacesStorage.migrateWorkspacesFromJSON();
}
await this.initializeWorkspaces();
console.info('ZenWorkspaces: ZenWorkspaces initialized');

View file

@ -29,18 +29,16 @@ var ZenWorkspacesStorage = {
)
`);
});
await this._migrateWorkspacesFromJSON();
},
async _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);
if (oldWorkspaces.workspaces) {
for (const workspace of oldWorkspaces.workspaces) {
await this.saveWorkspace(workspace, false); // Disable immediate notification
await this.saveWorkspace(workspace);
}
}
await IOUtils.remove(oldWorkspacesPath);