From 1c5c394637f4f18f72cadb50073594586b2aa514 Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 7 Sep 2020 18:21:58 +0300 Subject: [PATCH] extension-store sync fix Signed-off-by: Roman --- src/extensions/extension-store.ts | 7 +++---- src/extensions/extension.ts | 6 ++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/extensions/extension-store.ts b/src/extensions/extension-store.ts index e794626942..0ce0c1cab8 100644 --- a/src/extensions/extension-store.ts +++ b/src/extensions/extension-store.ts @@ -9,7 +9,7 @@ import logger from "../main/logger"; export interface ExtensionStoreModel { version: ExtensionVersion; - extensions: Record + extensions: [ExtensionId, ExtensionModel][] } export interface ExtensionModel { @@ -35,7 +35,6 @@ export class ExtensionStore extends BaseStore { private constructor() { super({ configName: "lens-extension-store", - syncEnabled: false, }); } @@ -131,7 +130,7 @@ export class ExtensionStore extends BaseStore { this.version = version; } if (extensions) { - const currentExtensions = new Map(Object.entries(extensions)); + const currentExtensions = new Map(extensions); this.extensions.forEach(extension => { if (!currentExtensions.has(extension.id)) { this.removed.set(extension.id, extension); @@ -163,7 +162,7 @@ export class ExtensionStore extends BaseStore { toJSON(): ExtensionStoreModel { return toJS({ version: this.version, - extensions: this.extensions.toJSON(), + extensions: Array.from(this.extensions).map(([id, instance]) => [id, instance.toJSON()]), }, { recurseEverything: true, }) diff --git a/src/extensions/extension.ts b/src/extensions/extension.ts index ec40245a49..e4bc683ea9 100644 --- a/src/extensions/extension.ts +++ b/src/extensions/extension.ts @@ -87,7 +87,7 @@ export class LensExtension implements ExtensionModel { } toJSON(): ExtensionModel { - return { + return toJS({ id: this.id, name: this.name, version: this.version, @@ -95,6 +95,8 @@ export class LensExtension implements ExtensionModel { manifestPath: this.manifestPath, enabled: this.isEnabled, updateUrl: this.updateUrl, - } + }, { + recurseEverything: true, + }) } }