From cf70933e21f3a0cbc8ea255df69b4cc018ff543f Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Tue, 24 Jan 2023 11:17:13 -0700 Subject: [PATCH] Only show alpha and beta in updates with dev tools enabled (#2132) only show alpha and beta in updates with dev tools --- frontend/config-sample.json | 3 ++- .../shared/src/types/workspace-config.ts | 1 + .../marketplace-settings.page.ts | 4 ++-- .../ui/src/app/pages/updates/updates.page.ts | 21 +++++++++++++++++-- .../src/app/services/marketplace.service.ts | 2 +- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/frontend/config-sample.json b/frontend/config-sample.json index 0424d5c26..904a62ebf 100644 --- a/frontend/config-sample.json +++ b/frontend/config-sample.json @@ -10,7 +10,8 @@ "marketplace": { "start9": "https://registry.start9.com/", "community": "https://community-registry.start9.com/", - "beta": "https://beta-registry.start9.com/" + "beta": "https://beta-registry.start9.com/", + "alpha": "https://alpha-registry-x.start9.com/" }, "mocks": { "maskAs": "tor", diff --git a/frontend/projects/shared/src/types/workspace-config.ts b/frontend/projects/shared/src/types/workspace-config.ts index 7c5691a4c..f912add4e 100644 --- a/frontend/projects/shared/src/types/workspace-config.ts +++ b/frontend/projects/shared/src/types/workspace-config.ts @@ -13,6 +13,7 @@ export type WorkspaceConfig = { start9: 'https://registry.start9.com/' community: 'https://community-registry.start9.com/' beta: 'https://beta-registry.start9.com/' + alpha: 'https://alpha-registry-x.start9.com/' } mocks: { maskAs: 'tor' | 'lan' diff --git a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts index a2da04a65..41e1f9cab 100644 --- a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts @@ -39,9 +39,9 @@ export class MarketplaceSettingsPage { selected: sameUrl(s.url, selected.url), })) // 0 and 1 are prod and community - const standard = toSlice.slice(0, 1) + const standard = toSlice.slice(0, 2) // 2 and beyond are alts - const alt = toSlice.slice(1) + const alt = toSlice.slice(2) return { standard, alt } }), diff --git a/frontend/projects/ui/src/app/pages/updates/updates.page.ts b/frontend/projects/ui/src/app/pages/updates/updates.page.ts index 0d2ccad28..170f56ab6 100644 --- a/frontend/projects/ui/src/app/pages/updates/updates.page.ts +++ b/frontend/projects/ui/src/app/pages/updates/updates.page.ts @@ -16,7 +16,7 @@ import { } from '@start9labs/marketplace' import { Emver, isEmptyObject, sameUrl } from '@start9labs/shared' import { Pipe, PipeTransform } from '@angular/core' -import { combineLatest, Observable } from 'rxjs' +import { combineLatest, map, Observable } from 'rxjs' import { AlertController, LoadingController, @@ -25,6 +25,8 @@ import { import { hasCurrentDeps } from 'src/app/util/has-deps' import { getAllPackages } from 'src/app/util/get-package-data' import { Breakages } from 'src/app/services/api/api.types' +import { ClientStorageService } from 'src/app/services/client-storage.service' +import { ConfigService } from 'src/app/services/config.service' interface UpdatesData { hosts: StoreIdentity[] @@ -39,8 +41,21 @@ interface UpdatesData { styleUrls: ['updates.page.scss'], }) export class UpdatesPage { + readonly hosts$ = combineLatest([ + this.clientStorageService.showDevTools$, + this.marketplaceService.getKnownHosts$(), + ]).pipe( + map(([devMode, knownHosts]) => { + if (devMode) return knownHosts + return knownHosts.filter(h => { + const { alpha, beta } = this.config.marketplace + return ![alpha, beta].includes(h.url as any) + }) + }), + ) + readonly data$: Observable = combineLatest({ - hosts: this.marketplaceService.getKnownHosts$(), + hosts: this.hosts$, marketplace: this.marketplaceService.getMarketplace$(), localPkgs: this.patch.watch$('package-data'), errors: this.marketplaceService.getRequestErrors$(), @@ -56,6 +71,8 @@ export class UpdatesPage { private readonly navCtrl: NavController, private readonly loadingCtrl: LoadingController, private readonly alertCtrl: AlertController, + private readonly clientStorageService: ClientStorageService, + private readonly config: ConfigService, ) {} viewInMarketplace(pkg: PackageDataEntry) { diff --git a/frontend/projects/ui/src/app/services/marketplace.service.ts b/frontend/projects/ui/src/app/services/marketplace.service.ts index b1b8d0148..89bea3a48 100644 --- a/frontend/projects/ui/src/app/services/marketplace.service.ts +++ b/frontend/projects/ui/src/app/services/marketplace.service.ts @@ -44,7 +44,7 @@ export class MarketplaceService implements AbstractMarketplaceService { const { start9, community } = this.config.marketplace let arr = [ toStoreIdentity(start9, hosts[start9]), - // toStoreIdentity(community, hosts[community]), + toStoreIdentity(community, hosts[community]), ] return arr.concat(