feat(desktop): add client release updater
Desktop Client Build / Resolve Build Metadata (push) Successful in 19s
Frontend CI / Frontend (push) Successful in 3m20s
Backend CI / Backend (push) Successful in 16m48s
Desktop Client Build / Build Desktop Client (push) Successful in 24m46s
Desktop Client Build / Publish Client Artifacts to NAS (push) Successful in 37s

This commit is contained in:
2026-05-25 19:23:49 +08:00
parent 41b4a765ac
commit 5f6e9f11da
46 changed files with 5508 additions and 160 deletions
+52
View File
@@ -141,6 +141,58 @@ export interface DesktopClientRotateResponse {
client: DesktopClientInfo
}
export interface DesktopClientReleaseCheckResponse {
update_available: boolean
latest_version: string
current_version: string
min_supported_version: string | null
force_update: boolean
download_source: 'oss' | 'custom'
download_url?: string | null
oss_object_key?: string | null
file_name?: string | null
file_size_bytes?: number | null
sha256?: string | null
updater_available?: boolean
updater_download_source?: 'oss' | 'custom' | null
updater_oss_object_key?: string | null
updater_file_name?: string | null
updater_file_size_bytes?: number | null
updater_sha256?: string | null
release_notes?: string | null
published_at?: string | null
}
export interface DesktopClientReleaseDownloadURLResponse {
download_url: string
expires_in?: number | null
}
export type DesktopClientUpdateStage =
| 'idle'
| 'checking'
| 'downloading'
| 'downloaded'
| 'installing'
| 'not-available'
| 'error'
export interface DesktopClientUpdateProgressEvent {
stage: DesktopClientUpdateStage
percent: number | null
transferred: number | null
total: number | null
bytesPerSecond: number | null
version: string | null
message?: string
}
export interface DesktopClientUpdateResult {
update_available: boolean
version: string | null
stage: DesktopClientUpdateStage
}
export interface DesktopAccountInfo {
id: string
platform: string