fix: make Agent updates reliable and visible
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build Linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build Linux x64 Agent (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
GoodBuddy Agents / Validate Agent source (push) Canceled after 0s
GoodBuddy Agents / Build Linux arm64 Agent (push) Canceled after 0s
GoodBuddy Agents / Build Linux x64 Agent (push) Canceled after 0s
Valid Agent packages could be rejected when packaged trusted-key JSON used CRLF, and Settings could not show whether a newer compatible Agent existed. Registry formatting is now parsed independently of cryptographic trust, and Settings reads only the signed catalog to report local and latest versions. New installations use a credential-free local Ollama-compatible profile. The v20 migration changes only untouched historical defaults, while explicit profiles and legacy environment aliases remain compatible. Magic Notes count badges no longer shift navigation rows. Release note: 修复 Agent 下载兼容性并在设置中显示更新状态;新安装默认连接本地模型,保留显式用户配置;魔法笔记待办数字不再改变侧栏菜单高度。
This commit is contained in:
@@ -35,6 +35,9 @@ import type {
|
||||
SshConnectionPoolTarget
|
||||
} from '../ssh/ssh-connection-pool'
|
||||
import { settleBoundedly } from './bounded-settlement'
|
||||
import {
|
||||
parseAgentReleaseKeyRegistryBytes
|
||||
} from './agent-bundle-verifier'
|
||||
import { isMissingPathError } from './path-errors'
|
||||
|
||||
const MAXIMUM_INSTALLATION_FILES = 200
|
||||
@@ -711,18 +714,13 @@ export class RemoteRuntimeInstallationManager {
|
||||
metadataSftp.readFile(RELEASE_KEYS_PATH, signal),
|
||||
metadataSftp.readFile(RUNTIME_LOCK_PATH, signal)
|
||||
])
|
||||
const remoteReleaseKeyRegistryBytes = canonicalJsonBytes(
|
||||
remoteReleaseKeyBytes,
|
||||
agentReleaseKeyRegistrySchema,
|
||||
const remoteReleaseKeyRegistryBytes =
|
||||
Buffer.from(remoteReleaseKeyBytes)
|
||||
const remoteReleaseKeyRegistry =
|
||||
parseAgentReleaseKeyRegistryBytes(
|
||||
remoteReleaseKeyRegistryBytes,
|
||||
'Installed Runtime release-key registry'
|
||||
)
|
||||
const remoteReleaseKeyRegistry =
|
||||
agentReleaseKeyRegistrySchema.parse(
|
||||
parseJsonBytes(
|
||||
remoteReleaseKeyRegistryBytes,
|
||||
'Installed Runtime release-key registry'
|
||||
)
|
||||
)
|
||||
if (!remoteRuntimeLockFileBytes.equals(remoteRuntimeLockBytes)) {
|
||||
throw new Error(
|
||||
'Installed Runtime lock does not match this GoodBuddy build'
|
||||
|
||||
Reference in New Issue
Block a user