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
+15 -3
View File
@@ -1,6 +1,9 @@
import type {
CreatePublishJobResponse,
DesktopAccountInfo,
DesktopClientReleaseCheckResponse,
DesktopClientUpdateProgressEvent,
DesktopClientUpdateResult,
DesktopClientRotateResponse,
DesktopPublishTaskListResponse,
DesktopRuntimeSessionSyncRequest,
@@ -36,6 +39,14 @@ declare global {
desktopBridge: {
app: {
ping(): Promise<string>
versionInfo(): Promise<{
version: string
channel: string
}>
checkClientRelease(): Promise<DesktopClientReleaseCheckResponse>
clientReleaseDownloadURL(): Promise<{ download_url: string }>
quitApp(): Promise<null>
startClientUpdate(): Promise<DesktopClientUpdateResult>
deviceInfo(): Promise<{
device_name: string
os: string
@@ -70,9 +81,7 @@ declare global {
openSettingsWindow(): Promise<null>
getAppSettings(): Promise<DesktopAppSettings>
getLoginCredentials(): Promise<DesktopLoginCredentials | null>
saveLoginCredentials(
credentials: DesktopLoginCredentials,
): Promise<DesktopLoginCredentials>
saveLoginCredentials(credentials: DesktopLoginCredentials): Promise<DesktopLoginCredentials>
clearLoginCredentials(): Promise<null>
setAppSetting(key: keyof DesktopAppSettings, value: boolean): Promise<DesktopAppSettings>
syncRuntimeSession(session: DesktopRuntimeSessionSyncRequest | null): Promise<null>
@@ -94,6 +103,9 @@ declare global {
}) => void,
): () => void
onNetworkObserved(listener: (event: DesktopObservedRequest) => void): () => void
onClientUpdateProgress(
listener: (event: DesktopClientUpdateProgressEvent) => void,
): () => void
}
workbenchNavigation: {
getState(): Promise<WorkbenchNavigationState>