From 71c6f25d9dfebdb0f1ee7e3f224b2058dab17ea5 Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Wed, 28 Apr 2021 09:47:20 -0400 Subject: [PATCH] always sync c&p folder, remove bad rebase Signed-off-by: Sebastian Malton --- src/common/user-store.ts | 27 +++++++++++++-------- src/main/catalog-sources/kubeconfig-sync.ts | 17 +++++++------ src/migrations/user-store/5.0.0-alpha.2.ts | 18 -------------- src/renderer/components/app.scss | 2 +- 4 files changed, 28 insertions(+), 36 deletions(-) delete mode 100644 src/migrations/user-store/5.0.0-alpha.2.ts diff --git a/src/common/user-store.ts b/src/common/user-store.ts index 6a86640516..145a57934c 100644 --- a/src/common/user-store.ts +++ b/src/common/user-store.ts @@ -14,7 +14,6 @@ import path from "path"; import os from "os"; import { fileNameMigration } from "../migrations/user-store"; import { ObservableToggleSet } from "../renderer/utils"; -import { ClusterStore } from "./cluster-store"; export interface UserStoreModel { kubeConfigPath: string; @@ -23,10 +22,12 @@ export interface UserStoreModel { preferences: UserPreferencesModel; } -export interface KubeconfigSyncEntry { +export interface KubeconfigSyncEntry extends KubeconfigSyncValue { filePath: string; } +export interface KubeconfigSyncValue {} + export interface UserPreferencesModel { httpsProxy?: string; shell?: string; @@ -86,9 +87,8 @@ export class UserStore extends BaseStore { /** * The set of file/folder paths to be synced */ - syncKubeconfigEntries = observable.set([ - path.join(os.homedir(), ".kube"), - ClusterStore.storedKubeConfigFolder, + syncKubeconfigEntries = observable.map([ + [path.join(os.homedir(), ".kube"), {}] ]); async load(): Promise { @@ -240,12 +240,19 @@ export class UserStore extends BaseStore { this.hiddenTableColumns.clear(); - for (const [tableId, columnIds] of preferences.hiddenTableColumns ?? []) { - this.hiddenTableColumns.set(tableId, new ObservableToggleSet(columnIds)); + if (preferences.hiddenTableColumns) { + this.hiddenTableColumns.replace( + preferences.hiddenTableColumns + .map(([tableId, columnIds]) => [tableId, new ObservableToggleSet(columnIds)]) + ); + } else { + this.hiddenTableColumns.clear(); } if (preferences.syncKubeconfigEntries) { - this.syncKubeconfigEntries.replace(preferences.syncKubeconfigEntries.map(({ filePath }) => filePath)); + this.syncKubeconfigEntries.replace( + preferences.syncKubeconfigEntries.map(({ filePath, ...rest }) => [filePath, rest]) + ); } else { this.syncKubeconfigEntries.clear(); } @@ -259,8 +266,8 @@ export class UserStore extends BaseStore { hiddenTableColumns.push([key, Array.from(values)]); } - for (const filePath of this.syncKubeconfigEntries) { - syncKubeconfigEntries.push({ filePath }); + for (const [filePath, rest] of this.syncKubeconfigEntries) { + syncKubeconfigEntries.push({ filePath, ...rest }); } const model: UserStoreModel = { diff --git a/src/main/catalog-sources/kubeconfig-sync.ts b/src/main/catalog-sources/kubeconfig-sync.ts index 35ef82e6bd..2b451a6177 100644 --- a/src/main/catalog-sources/kubeconfig-sync.ts +++ b/src/main/catalog-sources/kubeconfig-sync.ts @@ -11,7 +11,7 @@ import { loadConfigFromString, splitConfig, validateKubeConfig } from "../../com import { Cluster } from "../cluster"; import { catalogEntityFromCluster } from "../cluster-manager"; import { UserStore } from "../../common/user-store"; -import { UpdateClusterModel } from "../../common/cluster-store"; +import { ClusterStore, UpdateClusterModel } from "../../common/cluster-store"; const logPrefix = "[KUBECONFIG-SYNC]:"; @@ -32,21 +32,24 @@ export class KubeconfigSyncManager extends Singleton { return; } + this.syncing = true; + logger.info(`${logPrefix} starting requested syncs`); - for (const syncEntry of UserStore.getInstance().syncKubeconfigEntries) { - this.startNewSync(syncEntry, port); - } + // This must be done so that c&p-ed clusters are visible + this.startNewSync(ClusterStore.storedKubeConfigFolder, port); - this.syncing = true; + for (const [filePath] of UserStore.getInstance().syncKubeconfigEntries) { + this.startNewSync(filePath, port); + } this.syncListDisposer = UserStore.getInstance().syncKubeconfigEntries.observe(change => { switch (change.type) { case "add": - this.startNewSync(change.newValue, port); + this.startNewSync(change.name, port); break; case "delete": - this.stopOldSync(change.oldValue); + this.stopOldSync(change.name); break; } }); diff --git a/src/migrations/user-store/5.0.0-alpha.2.ts b/src/migrations/user-store/5.0.0-alpha.2.ts deleted file mode 100644 index a8800d7dae..0000000000 --- a/src/migrations/user-store/5.0.0-alpha.2.ts +++ /dev/null @@ -1,18 +0,0 @@ -// Switch representation of hiddenTableColumns in store -import { migration } from "../migration-wrapper"; - -export default migration({ - version: "5.0.0-alpha.2", - run(store) { - const preferences = store.get("preferences"); - const oldHiddenTableColumns: Record = preferences?.hiddenTableColumns; - - if (!oldHiddenTableColumns) { - return; - } - - preferences.hiddenTableColumns = Object.entries(oldHiddenTableColumns); - - store.get("preferences", preferences); - } -}); diff --git a/src/renderer/components/app.scss b/src/renderer/components/app.scss index dda907b889..50cb9c1e38 100755 --- a/src/renderer/components/app.scss +++ b/src/renderer/components/app.scss @@ -55,7 +55,7 @@ } html { - font-size: var(--font-size); + font-size: 62.5%; // 1 rem == 10px color: $textColorPrimary; background-color: $mainBackground; --flex-gap: #{$padding};