From 332a543f6656661200468de6fe4f3f3d44e38fca Mon Sep 17 00:00:00 2001 From: didirus4 Date: Thu, 10 Jul 2025 21:09:06 +0300 Subject: [PATCH] fix: added ability for regenerate checksums with issued mr migrations. --- apps/app-frontend/src/App.vue | 4 +- .../src/components/ui/ErrorModal.vue | 135 +++++++++++++ apps/app-frontend/src/helpers/utils.js | 6 + apps/app/build.rs | 1 + apps/app/src/api/utils.rs | 12 +- apps/app/tauri.conf.json | 2 +- packages/app-lib/src/api/download.rs | 55 ------ packages/app-lib/src/api/mod.rs | 2 +- packages/app-lib/src/api/update.rs | 42 ++++ packages/app-lib/src/lib.rs | 2 +- packages/app-lib/src/state/db.rs | 179 ++++++++++-------- packages/app-lib/src/util/utils.rs | 50 ++++- 12 files changed, 349 insertions(+), 141 deletions(-) delete mode 100644 packages/app-lib/src/api/download.rs create mode 100644 packages/app-lib/src/api/update.rs diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index a8a76db2..81107c4f 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -161,11 +161,11 @@ async function setupApp() { initAnalytics() if (!telemetry) { - console.info("[AR] Telemetry disabled by default (Hard patched).") + console.info("[AR] • Telemetry disabled by default (Hard patched).") optOutAnalytics() } if (!personalized_ads) { - console.info("[AR] Personalized ads disabled by default (Hard patched).") + console.info("[AR] • Personalized ads disabled by default (Hard patched).") } if (dev) debugAnalytics() diff --git a/apps/app-frontend/src/components/ui/ErrorModal.vue b/apps/app-frontend/src/components/ui/ErrorModal.vue index bae91908..3df0cc11 100644 --- a/apps/app-frontend/src/components/ui/ErrorModal.vue +++ b/apps/app-frontend/src/components/ui/ErrorModal.vue @@ -18,11 +18,15 @@ import { cancel_directory_change } from '@/helpers/settings.ts' import { install } from '@/helpers/profile.js' import { trackEvent } from '@/helpers/analytics' import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue' +import { applyMigrationFix } from '@/helpers/utils.js' const errorModal = ref() const error = ref() const closable = ref(true) const errorCollapsed = ref(false) +const language = ref('en') +const migrationFixSuccess = ref(null) // null | true | false +const migrationFixCallbackModel = ref() const title = ref('An error occurred') const errorType = ref('unknown') @@ -148,6 +152,25 @@ async function copyToClipboard(text) { copied.value = false }, 3000) } + +function toggleLanguage() { + language.value = language.value === 'en' ? 'ru' : 'en' +} + +async function onApplyMigrationFix(eol) { + console.log(`[AR] • Attempting to apply migration ${eol.toUpperCase()} fix`) + try { + const result = await applyMigrationFix(eol) + migrationFixSuccess.value = result === true + console.log(`[AR] • Successfully applied migration ${eol.toUpperCase()} fix`, result) + } catch (err) { + console.error(`[AR] • Failed to apply migration fix:`, err) + migrationFixSuccess.value = false + } finally { + migrationFixCallbackModel.value?.show?.() + } +} +