From 3fe4d859dfc10a42bdbfdb78bdceac89a0c5f95f Mon Sep 17 00:00:00 2001 From: Jacky Date: Sat, 3 May 2025 08:13:58 +0800 Subject: [PATCH] feat(ota): show short hash --- app/src/api/upgrade.ts | 8 ++++++++ app/src/lib/http/error.ts | 5 +++-- app/src/version.json | 2 +- app/src/views/system/Upgrade.vue | 15 ++++++++++++--- internal/version/info.go | 20 ++++++++------------ internal/version/version.go | 2 ++ 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/app/src/api/upgrade.ts b/app/src/api/upgrade.ts index 3c665c58..01d42d07 100644 --- a/app/src/api/upgrade.ts +++ b/app/src/api/upgrade.ts @@ -7,6 +7,14 @@ export interface RuntimeInfo { ex_path: string body: string published_at: string + cur_version: Info +} + +interface Info { + version: string + build_id: number + total_build: number + short_hash: string } const upgrade = { diff --git a/app/src/lib/http/error.ts b/app/src/lib/http/error.ts index 8844ba2b..278df2f1 100644 --- a/app/src/lib/http/error.ts +++ b/app/src/lib/http/error.ts @@ -32,12 +32,13 @@ export function handleApiError(err: CosyError, dedupe: MessageDedupe) { if (!errors[err.scope]) { try { // Dynamic import error files - import(/* @vite-ignore */ `@/constants/errors/${err.scope}.ts`) + import(`@/constants/errors/${err.scope}.ts`) .then(error => { registerError(err.scope!, error.default) displayErrorMessage(err, dedupe) }) - .catch(() => { + .catch(err => { + console.error(err) dedupe.error($gettext(err?.message ?? 'Server error')) }) } diff --git a/app/src/version.json b/app/src/version.json index 3c57c814..34f9d432 100644 --- a/app/src/version.json +++ b/app/src/version.json @@ -1 +1 @@ -{"version":"2.0.0-rc.6","build_id":1,"total_build":417} \ No newline at end of file +{"version":"2.0.0-rc.6","build_id":2,"total_build":418} \ No newline at end of file diff --git a/app/src/views/system/Upgrade.vue b/app/src/views/system/Upgrade.vue index 8f0c2d67..77338f14 100644 --- a/app/src/views/system/Upgrade.vue +++ b/app/src/views/system/Upgrade.vue @@ -137,6 +137,15 @@ async function performUpgrade() { }, 2000) } } + +const performUpgradeBtnText = computed(() => { + if (channel.value === 'dev') + return $gettext('Install') + else if (isLatestVer.value) + return $gettext('Reinstall') + else + return $gettext('Upgrade') +})