diff --git a/web/projects/ui/src/app/pages/apps-routes/app-show/app-show.page.ts b/web/projects/ui/src/app/pages/apps-routes/app-show/app-show.page.ts
index 840c647d2..0c32c0ba2 100644
--- a/web/projects/ui/src/app/pages/apps-routes/app-show/app-show.page.ts
+++ b/web/projects/ui/src/app/pages/apps-routes/app-show/app-show.page.ts
@@ -103,13 +103,13 @@ export class AppShowPage {
depErrors,
)
- const depInfo = pkg.dependencyInfo[depId]
+ const { title, icon, versionSpec } = pkg.currentDependencies[depId]
return {
id: depId,
- version: pkg.currentDependencies[depId].versionRange, // @TODO do we want this version range?
- title: depInfo?.title || depId,
- icon: depInfo?.icon || '',
+ version: versionSpec,
+ title,
+ icon,
errorText: errorText
? `${errorText}. ${manifest.title} will not work as expected.`
: '',
@@ -184,7 +184,7 @@ export class AppShowPage {
const dependentInfo: DependentInfo = {
id: pkgManifest.id,
title: pkgManifest.title,
- version: pkg.currentDependencies[depId].versionRange,
+ version: pkg.currentDependencies[depId].versionSpec,
}
const navigationExtras: NavigationExtras = {
state: { dependentInfo },
diff --git a/web/projects/ui/src/app/pages/updates/updates.page.html b/web/projects/ui/src/app/pages/updates/updates.page.html
index a31d889ff..ca71bb6b3 100644
--- a/web/projects/ui/src/app/pages/updates/updates.page.html
+++ b/web/projects/ui/src/app/pages/updates/updates.page.html
@@ -55,15 +55,18 @@
-
+ >
+
+
- Object.values(pkgs).reduce((acc, curr) => {
- if (isInstalled(curr) || isUpdating(curr)) return { ...acc, curr }
+ Object.entries(pkgs).reduce((acc, [id, val]) => {
+ if (isInstalled(val) || isUpdating(val)) return { ...acc, [id]: val }
return acc
}, {} as Record>),
),
diff --git a/web/projects/ui/src/app/pipes/install-progress/install-progress.pipe.ts b/web/projects/ui/src/app/pipes/install-progress/install-progress.pipe.ts
index e6f87a127..93e826bf7 100644
--- a/web/projects/ui/src/app/pipes/install-progress/install-progress.pipe.ts
+++ b/web/projects/ui/src/app/pipes/install-progress/install-progress.pipe.ts
@@ -24,9 +24,3 @@ export class InstallingProgressPipe implements PipeTransform {
return Number((progress.done / progress.total).toFixed(2))
}
}
-
-function getProgress(progress: Progress): number | null {
- if (progress === true) return 1
- if (progress === false || !progress.total) return null
- return Number((progress.done / progress.total).toFixed(2))
-}
diff --git a/web/projects/ui/src/app/services/api/api.fixures.ts b/web/projects/ui/src/app/services/api/api.fixures.ts
index 7786e3566..77c0a684c 100644
--- a/web/projects/ui/src/app/services/api/api.fixures.ts
+++ b/web/projects/ui/src/app/services/api/api.fixures.ts
@@ -1608,7 +1608,6 @@ export module Mock {
},
},
currentDependencies: {},
- dependencyInfo: {},
marketplaceUrl: 'https://registry.start9.com/',
developerKey: 'developer-key',
}
@@ -1737,15 +1736,13 @@ export module Mock {
},
},
currentDependencies: {
- bitcoind: {
- versionRange: '>=26.0.0',
- healthChecks: [],
- },
- },
- dependencyInfo: {
bitcoind: {
title: Mock.MockManifestBitcoind.title,
icon: 'assets/img/service-icons/bitcoind.svg',
+ kind: 'running',
+ registryUrl: '',
+ versionSpec: '>=26.0.0',
+ healthChecks: [],
},
},
marketplaceUrl: 'https://registry.start9.com/',
@@ -1982,23 +1979,21 @@ export module Mock {
},
},
currentDependencies: {
- bitcoind: {
- versionRange: '>=26.0.0',
- healthChecks: [],
- },
- 'btc-rpc-proxy': {
- versionRange: '>2.0.0', // @TODO
- healthChecks: [],
- },
- },
- dependencyInfo: {
bitcoind: {
title: Mock.MockManifestBitcoind.title,
icon: 'assets/img/service-icons/bitcoind.svg',
+ kind: 'running',
+ registryUrl: 'https://registry.start9.com',
+ versionSpec: '>=26.0.0',
+ healthChecks: [],
},
'btc-rpc-proxy': {
title: Mock.MockManifestBitcoinProxy.title,
icon: 'assets/img/service-icons/btc-rpc-proxy.png',
+ kind: 'exists',
+ registryUrl: 'https://community-registry.start9.com',
+ versionSpec: '>2.0.0', // @TODO
+ healthChecks: [],
},
},
marketplaceUrl: 'https://registry.start9.com/',
diff --git a/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts b/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
index 6b423b244..5f9b1b3bc 100644
--- a/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
+++ b/web/projects/ui/src/app/services/api/embassy-mock-api.service.ts
@@ -679,8 +679,6 @@ export class MockApiService extends ApiService {
this.updateProgress(params.id)
}, 1000)
- const manifest = Mock.LocalPkgs[params.id].stateInfo.manifest
-
const patch: Operation<
PackageDataEntry
>[] = [
@@ -691,15 +689,15 @@ export class MockApiService extends ApiService {
...Mock.LocalPkgs[params.id],
stateInfo: {
// if installing
- state: PackageState.Installing,
+ // state: PackageState.Installing,
// if updating
- // state: PackageState.Updating,
- // manifest,
+ state: PackageState.Updating,
+ manifest: mockPatchData.packageData[params.id].stateInfo.manifest!,
// both
installingInfo: {
- newManifest: manifest,
+ newManifest: Mock.LocalPkgs[params.id].stateInfo.manifest,
progress: PROGRESS,
},
},
diff --git a/web/projects/ui/src/app/services/api/mock-patch.ts b/web/projects/ui/src/app/services/api/mock-patch.ts
index 5bd69293c..00b57d2cc 100644
--- a/web/projects/ui/src/app/services/api/mock-patch.ts
+++ b/web/projects/ui/src/app/services/api/mock-patch.ts
@@ -335,7 +335,6 @@ export const mockPatchData: DataModel = {
},
},
currentDependencies: {},
- dependencyInfo: {},
marketplaceUrl: 'https://registry.start9.com/',
developerKey: 'developer-key',
},
@@ -570,23 +569,21 @@ export const mockPatchData: DataModel = {
},
},
currentDependencies: {
- bitcoind: {
- versionRange: '>=26.0.0',
- healthChecks: [],
- },
- 'btc-rpc-proxy': {
- versionRange: '>2.0.0',
- healthChecks: [],
- },
- },
- dependencyInfo: {
bitcoind: {
title: 'Bitcoin Core',
icon: 'assets/img/service-icons/bitcoind.svg',
+ kind: 'running',
+ registryUrl: 'https://registry.start9.com',
+ versionSpec: '>=26.0.0',
+ healthChecks: [],
},
'btc-rpc-proxy': {
title: 'Bitcoin Proxy',
icon: 'assets/img/service-icons/btc-rpc-proxy.png',
+ kind: 'running',
+ registryUrl: 'https://community-registry.start9.com',
+ versionSpec: '>2.0.0',
+ healthChecks: [],
},
},
marketplaceUrl: 'https://registry.start9.com/',
diff --git a/web/projects/ui/src/app/services/dep-error.service.ts b/web/projects/ui/src/app/services/dep-error.service.ts
index 50020f5fe..1991f7bec 100644
--- a/web/projects/ui/src/app/services/dep-error.service.ts
+++ b/web/projects/ui/src/app/services/dep-error.service.ts
@@ -85,14 +85,14 @@ export class DepErrorService {
}
}
- const versionRange = pkg.currentDependencies[depId].versionRange
+ const versionSpec = pkg.currentDependencies[depId].versionSpec
const depManifest = dep.stateInfo.manifest
// incorrect version
- if (!this.emver.satisfies(depManifest.version, versionRange)) {
+ if (!this.emver.satisfies(depManifest.version, versionSpec)) {
return {
type: DependencyErrorType.IncorrectVersion,
- expected: versionRange,
+ expected: versionSpec,
received: depManifest.version,
}
}
diff --git a/web/projects/ui/src/app/services/patch-db/data-model.ts b/web/projects/ui/src/app/services/patch-db/data-model.ts
index c1d46ece2..29761e300 100644
--- a/web/projects/ui/src/app/services/patch-db/data-model.ts
+++ b/web/projects/ui/src/app/services/patch-db/data-model.ts
@@ -100,13 +100,7 @@ export type PackageDataEntry = {
status: Status
actions: Record
lastBackup: string | null
- currentDependencies: { [id: string]: CurrentDependencyInfo }
- dependencyInfo: {
- [id: string]: {
- title: string
- icon: Url
- }
- }
+ currentDependencies: Record
serviceInterfaces: Record
marketplaceUrl: string | null
developerKey: string
@@ -117,11 +111,13 @@ export type StateInfo = InstalledState | InstallingState | UpdatingState
export type InstalledState = {
state: PackageState.Installed | PackageState.Removing
manifest: Manifest
+ installingInfo?: undefined
}
export type InstallingState = {
state: PackageState.Installing | PackageState.Restoring
installingInfo: InstallingInfo
+ manifest?: undefined
}
export type UpdatingState = {
@@ -139,8 +135,10 @@ export enum PackageState {
}
export interface CurrentDependencyInfo {
+ title: string
+ icon: string
kind: 'exists' | 'running'
- url: string
+ registryUrl: string
versionSpec: string
healthChecks: string[] // array of health check IDs
}
diff --git a/web/projects/ui/src/app/util/dry-update.ts b/web/projects/ui/src/app/util/dry-update.ts
index 472a48389..2d4d1aa10 100644
--- a/web/projects/ui/src/app/util/dry-update.ts
+++ b/web/projects/ui/src/app/util/dry-update.ts
@@ -12,8 +12,7 @@ export function dryUpdate(
pkg =>
Object.keys(pkg.currentDependencies || {}).some(
pkgId => pkgId === id,
- ) &&
- !emver.satisfies(version, pkg.currentDependencies[id].versionRange),
+ ) && !emver.satisfies(version, pkg.currentDependencies[id].versionSpec),
)
.map(pkg => getManifest(pkg).title)
}