Merge pull request #2737 from Start9Labs/fix/flavors

Fix/flavors
This commit is contained in:
Matt Hill
2024-09-17 16:32:42 -06:00
committed by GitHub
4 changed files with 38 additions and 34 deletions

6
web/package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "startos-ui",
"version": "0.3.6",
"version": "0.3.6-alpha.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "startos-ui",
"version": "0.3.6",
"version": "0.3.6-alpha.5",
"license": "MIT",
"dependencies": {
"@angular/animations": "^14.1.0",
@@ -116,7 +116,7 @@
},
"../sdk/dist": {
"name": "@start9labs/start-sdk",
"version": "0.3.6-alpha5",
"version": "0.3.6-alpha8",
"license": "MIT",
"dependencies": {
"@iarna/toml": "^2.2.5",

View File

@@ -51,15 +51,14 @@ export class MarketplaceShowPage {
readonly flavors$ = this.route.queryParamMap.pipe(
switchMap(paramMap =>
this.marketplaceService
.getSelectedStore$()
.pipe(
map(s =>
s.packages.filter(
p => p.id === this.pkgId && p.flavor !== paramMap.get('flavor'),
),
this.marketplaceService.getSelectedStore$().pipe(
map(s =>
s.packages.filter(
p => p.id === this.pkgId && p.flavor !== paramMap.get('flavor'),
),
),
filter(p => p.length > 0),
),
),
)

View File

@@ -1,6 +1,7 @@
import { DataModel } from 'src/app/services/patch-db/data-model'
import { Mock } from './api.fixures'
import { BUILT_IN_WIDGETS } from '../../pages/widgets/built-in/widgets'
const version = require('../../../../../../package.json').version
export const mockPatchData: DataModel = {
ui: {
@@ -37,7 +38,7 @@ export const mockPatchData: DataModel = {
arch: 'x86_64',
onionAddress: 'myveryownspecialtoraddress',
id: 'abcdefgh',
version: '0.3.6',
version,
lastBackup: new Date(new Date().valueOf() - 604800001).toISOString(),
lanAddress: 'https://adjective-noun.local',
torAddress: 'https://myveryownspecialtoraddress.onion',

View File

@@ -81,31 +81,35 @@ export class MarketplaceService implements AbstractMarketplaceService {
shareReplay({ bufferSize: 1, refCount: true }),
)
private readonly marketplace$ = this.knownHosts$.pipe(
startWith<StoreIdentity[]>([]),
pairwise(),
mergeMap(([prev, curr]) =>
curr.filter(c => !prev.find(p => sameUrl(c.url, p.url))),
),
mergeMap(({ url, name }) =>
this.fetchStore$(url).pipe(
tap(data => {
if (data?.info.name) this.updateStoreName(url, name, data.info.name)
}),
map<StoreData | null, [string, StoreData | null]>(data => [url, data]),
startWith<[string, StoreData | null]>([url, null]),
private readonly marketplace$: Observable<Marketplace> =
this.knownHosts$.pipe(
startWith<StoreIdentity[]>([]),
pairwise(),
mergeMap(([prev, curr]) =>
curr.filter(c => !prev.find(p => sameUrl(c.url, p.url))),
),
),
scan<[string, StoreData | null], Record<string, StoreData | null>>(
(requests, [url, store]) => {
requests[url] = store
mergeMap(({ url, name }) =>
this.fetchStore$(url).pipe(
tap(data => {
if (data?.info.name) this.updateStoreName(url, name, data.info.name)
}),
map<StoreData | null, [string, StoreData | null]>(data => [
url,
data,
]),
startWith<[string, StoreData | null]>([url, null]),
),
),
scan<[string, StoreData | null], Record<string, StoreData | null>>(
(requests, [url, store]) => {
requests[url] = store
return requests
},
{},
),
shareReplay({ bufferSize: 1, refCount: true }),
)
return requests
},
{},
),
shareReplay({ bufferSize: 1, refCount: true }),
)
private readonly filteredMarketplace$ = combineLatest([
this.clientStorageService.showDevTools$,