From d2a319a4d5feef7c46cf234b7b9e76e971c1a2b1 Mon Sep 17 00:00:00 2001 From: Disy920 Date: Sat, 26 Sep 2026 13:06:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=90=AF=E7=94=A8=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=99=A8=E6=9B=B4=E6=96=B0=E5=B9=B6=E4=BF=AE=E5=A4=8D=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E7=AB=9E=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/app-frontend/src/App.vue | 28 +++++-- .../src/components/home/HomeMinimal.vue | 2 +- .../src/components/home/HomeRecentWorlds.vue | 11 ++- .../instance/HostedPackProgress.vue | 3 +- .../instance/InstancePlayerModal.vue | 5 +- .../instance/InstancePlayerSettings.vue | 4 +- .../instance/TaggedModDownloadsModal.vue | 7 +- .../src/components/ui/AboutEasterEgg.vue | 83 ++++++++++++------- .../src/components/ui/ExportModal.vue | 2 +- .../src/components/ui/Instance.vue | 10 +-- .../src/components/ui/MinecraftCrashModal.vue | 4 +- .../components/ui/SkinSiteSessionFrame.vue | 2 +- .../ui/modal/ConfirmDeleteInstanceModal.vue | 1 + .../ui/modal/InstanceIconPickerModal.vue | 22 ++--- .../components/ui/settings/UpdateSettings.vue | 15 ++-- .../settings/settings-category-definitions.ts | 44 +++++----- .../ui/settings/settings-registry.ts | 3 +- .../src/components/ui/world/InstanceItem.vue | 2 +- .../src/composables/skin-site-session.test.ts | 8 +- .../src/composables/useDropImport.ts | 7 +- .../helpers/hosted-download-failures.test.ts | 1 + apps/app-frontend/src/helpers/hosted-packs.ts | 1 + .../src/helpers/instance-launch-state.test.ts | 1 + .../src/helpers/instance-player.test.ts | 11 +-- apps/app-frontend/src/helpers/instance.ts | 2 +- .../src/helpers/post-upgrade-notice.test.ts | 10 +-- .../src/helpers/tagged-mod-progress.test.ts | 1 + apps/app-frontend/src/helpers/worlds.ts | 7 +- apps/app-frontend/src/pages/Create.vue | 12 ++- .../src/pages/LabModTranslation.vue | 2 +- apps/app-frontend/src/pages/LabSeedMap.vue | 2 +- apps/app-frontend/src/pages/Multiplayer.vue | 4 +- .../app-frontend/src/pages/instance/Index.vue | 20 ++--- apps/app-frontend/src/pages/instance/Mods.vue | 6 +- .../src/pages/project/CurseForge.vue | 2 +- apps/app-frontend/src/pages/project/Index.vue | 4 +- .../src/pages/project/Versions.vue | 9 +- .../src/providers/content-install.ts | 23 ++--- apps/app/src/api/auth.rs | 1 + apps/app/src/lightweight_mode.rs | 5 +- apps/app/src/main.rs | 14 +++- apps/app/tauri.conf.json | 7 ++ .../app-lib/src/api/instance/lifecycle.rs | 1 - packages/app-lib/src/util/fetch.rs | 2 +- packages/daedalus/src/modded.rs | 2 +- 45 files changed, 235 insertions(+), 178 deletions(-) diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index 7b424d1..a687a76 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -63,9 +63,11 @@ import { openUrl } from '@tauri-apps/plugin-opener' import { type as getOsType } from '@tauri-apps/plugin-os' import { saveWindowState, StateFlags } from '@tauri-apps/plugin-window-state' import { hideAllPoppers } from 'floating-vue' -import { computed, nextTick, onMounted, onUnmounted, provide, ref, watch } from 'vue' +import { computed, onMounted, onUnmounted, provide, ref, watch } from 'vue' import { type RouteLocationNormalizedLoaded, RouterView, useRoute, useRouter } from 'vue-router' +import InstancePlayerModal from '@/components/instance/InstancePlayerModal.vue' +import TaggedModDownloadsModal from '@/components/instance/TaggedModDownloadsModal.vue' import InstanceExportModal from '@/components/lab/recipe-generator/InstanceExportModal.vue' import AccountsCard from '@/components/ui/AccountsCard.vue' import AppActionBar from '@/components/ui/AppActionBar.vue' @@ -79,7 +81,6 @@ import MinecraftAuthErrorModal from '@/components/ui/minecraft-auth-error-modal/ import MinecraftCrashModal from '@/components/ui/MinecraftCrashModal.vue' import AuthGrantFlowWaitModal from '@/components/ui/modal/AuthGrantFlowWaitModal.vue' import CurseForgeManualDownloadsModal from '@/components/ui/modal/CurseForgeManualDownloadsModal.vue' -import TaggedModDownloadsModal from '@/components/instance/TaggedModDownloadsModal.vue' import InstallToPlayModal from '@/components/ui/modal/InstallToPlayModal.vue' import InstanceIconPickerModal from '@/components/ui/modal/InstanceIconPickerModal.vue' import JavaDownloadConfirmationModal from '@/components/ui/modal/JavaDownloadConfirmationModal.vue' @@ -90,9 +91,8 @@ import NavButton from '@/components/ui/NavButton.vue' import NavRail from '@/components/ui/NavRail.vue' import OnboardingOverlay from '@/components/ui/onboarding/OnboardingOverlay.vue' import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue' -import SplashScreen from '@/components/ui/SplashScreen.vue' import SkinSiteSessionFrame from '@/components/ui/SkinSiteSessionFrame.vue' -import InstancePlayerModal from '@/components/instance/InstancePlayerModal.vue' +import SplashScreen from '@/components/ui/SplashScreen.vue' import WindowControls from '@/components/ui/WindowControls.vue' import { useCheckDisableMouseover } from '@/composables/macCssFix.js' import { useDropImport } from '@/composables/useDropImport' @@ -138,7 +138,6 @@ import { isDev, isElevated, isNetworkMetered, - restartApp, setRestartAfterPendingUpdate, } from '@/helpers/utils.js' import { start_join_server, start_join_singleplayer_world } from '@/helpers/worlds.ts' @@ -490,6 +489,12 @@ onMounted(async () => { document.querySelector('body').addEventListener('auxclick', handleAuxClick) window.addEventListener(DIRECT_LINKS_SYNCED_EVENT, handleDirectLinkSyncReport) + try { + await stateInitialization + } catch { + return + } + checkUpdates() void warnIfRunningElevated() startDirectLinkSync() @@ -1701,6 +1706,7 @@ onMounted(() => { setServerUpdateToPlayModal(updateToPlayModal.value) void (async () => { try { + await stateInitialization const ready = await invoke<{ pending_crashes: { instance_id: string; uuid: string }[] pending_commands: Parameters[0][] @@ -2423,9 +2429,13 @@ provideAppUpdateDownloadProgress(appUpdateDownload) {{ formatMessage(messages.authUnreachableBody) }}
- + -
+
@@ -2489,7 +2499,7 @@ provideAppUpdateDownloadProgress(appUpdateDownload) :on-error-action="exportNotificationErrorLogs" :error-action-label="formatMessage(messages.exportErrorLogs)" /> - + - + (), { + dashboardSize: null, limit: HOME_RECENT_DEFAULT_LIMIT, }, ) @@ -146,11 +147,17 @@ async function stopInstance(instance: GameInstance) {