mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
fix: correct false breakage detection for flavored packages and config changes Two bugs caused the UI to incorrectly warn about dependency breakages: 1. dryUpdate (version path): Flavored package versions (e.g. #knots:27.0.0:0) failed exver.satisfies() against flavorless ranges (e.g. >=26.0.0) due to flavor mismatch. Now checks the manifest's `satisfies` declarations, matching the pattern already used in DepErrorService. Added `satisfies` field to PackageVersionInfo so it's available from registry data. 2. checkConflicts (config path): fast-json-patch's compare() treated missing keys as conflicts (add ops) and used positional array comparison, diverging from the backend's conflicts() semantics. Replaced with a conflicts() function that mirrors core/src/service/action.rs — missing keys are not conflicts, and arrays use set-based comparison. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
|
import type { Alerts } from './Alerts'
|
|
import type { DataUrl } from './DataUrl'
|
|
import type { DependencyMetadata } from './DependencyMetadata'
|
|
import type { Description } from './Description'
|
|
import type { GitHash } from './GitHash'
|
|
import type { HardwareRequirements } from './HardwareRequirements'
|
|
import type { LocaleString } from './LocaleString'
|
|
import type { MerkleArchiveCommitment } from './MerkleArchiveCommitment'
|
|
import type { PackageId } from './PackageId'
|
|
import type { PluginId } from './PluginId'
|
|
import type { RegistryAsset } from './RegistryAsset'
|
|
import type { Version } from './Version'
|
|
|
|
export type PackageVersionInfo = {
|
|
icon: DataUrl
|
|
dependencyMetadata: { [key: PackageId]: DependencyMetadata }
|
|
sourceVersion: string | null
|
|
s9pks: Array<[HardwareRequirements, RegistryAsset<MerkleArchiveCommitment>]>
|
|
title: string
|
|
description: Description
|
|
releaseNotes: LocaleString
|
|
gitHash: GitHash | null
|
|
license: string
|
|
packageRepo: string
|
|
upstreamRepo: string
|
|
marketingUrl: string
|
|
donationUrl: string | null
|
|
docsUrls: string[]
|
|
alerts: Alerts
|
|
osVersion: string
|
|
sdkVersion: string | null
|
|
hardwareAcceleration: boolean
|
|
plugins: Array<PluginId>
|
|
satisfies: Array<Version>
|
|
}
|