mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 20:14:49 +00:00
fix: correct false breakage detection for flavored packages and confi… (#3149)
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>
This commit is contained in:
@@ -15,7 +15,6 @@ import type { VolumeId } from './VolumeId'
|
||||
export type Manifest = {
|
||||
id: PackageId
|
||||
version: Version
|
||||
satisfies: Array<Version>
|
||||
canMigrateTo: string
|
||||
canMigrateFrom: string
|
||||
images: { [key: ImageId]: ImageConfig }
|
||||
@@ -37,4 +36,5 @@ export type Manifest = {
|
||||
sdkVersion: string | null
|
||||
hardwareAcceleration: boolean
|
||||
plugins: Array<PluginId>
|
||||
satisfies: Array<Version>
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ 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
|
||||
@@ -31,4 +32,5 @@ export type PackageVersionInfo = {
|
||||
sdkVersion: string | null
|
||||
hardwareAcceleration: boolean
|
||||
plugins: Array<PluginId>
|
||||
satisfies: Array<Version>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user