From 1ae1299f44deb7e5c1ef74838dccb2a4fe161616 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sun, 13 Apr 2025 14:01:43 +0900 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20=E8=A8=AD=E5=AE=9A=E3=83=9E?= =?UTF-8?q?=E3=82=A4=E3=82=B0=E3=83=AC=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E5=91=A8=E3=82=8A=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/frontend/src/boot/main-boot.ts | 3 ++- packages/frontend/src/pref-migrate.ts | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index fad6ce3825..f477622d6d 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -29,7 +29,6 @@ import { prefer } from '@/preferences.js'; import { launchPlugins } from '@/plugin.js'; import { updateCurrentAccountPartial } from '@/accounts.js'; import { signout } from '@/signout.js'; -import { migrateOldSettings } from '@/pref-migrate.js'; export async function mainBoot() { const { isClientUpdated, lastVersion } = await common(async () => { @@ -75,6 +74,8 @@ export async function mainBoot() { if (lastVersion && (compareVersions('2025.3.2-alpha.0', lastVersion) === 1)) { console.log('Preferences migration'); + const { migrateOldSettings } = await import('@/pref-migrate.js'); + migrateOldSettings(); } } diff --git a/packages/frontend/src/pref-migrate.ts b/packages/frontend/src/pref-migrate.ts index 414bb9c5aa..0f46594ab6 100644 --- a/packages/frontend/src/pref-migrate.ts +++ b/packages/frontend/src/pref-migrate.ts @@ -14,15 +14,17 @@ import * as os from '@/os.js'; import { i18n } from '@/i18n.js'; // TODO: そのうち消す -export function migrateOldSettings() { +export async function migrateOldSettings() { os.waiting(i18n.ts.settingsMigrating); - store.loaded.then(async () => { - misskeyApi('i/registry/get', { scope: ['client'], key: 'themes' }).catch(() => []).then((themes: any) => { + await store.loaded.then(async () => { + const migrationPromises: Promise[] = []; + + migrationPromises.push(misskeyApi('i/registry/get', { scope: ['client'], key: 'themes' }).catch(() => []).then((themes: any) => { if (themes.length > 0) { prefer.commit('themes', themes); } - }); + })); const plugins = ColdDeviceStorage.get('plugins'); prefer.commit('plugins', plugins.map(p => ({ @@ -32,7 +34,7 @@ export function migrateOldSettings() { }))); prefer.commit('deck.profile', deckStore.s.profile); - misskeyApi('i/registry/keys', { + migrationPromises.push(misskeyApi('i/registry/keys', { scope: ['client', 'deck', 'profiles'], }).then(async keys => { const profiles: DeckProfile[] = []; @@ -49,7 +51,7 @@ export function migrateOldSettings() { }); } prefer.commit('deck.profiles', profiles); - }); + })); prefer.commit('lightTheme', ColdDeviceStorage.get('lightTheme')); prefer.commit('darkTheme', ColdDeviceStorage.get('darkTheme')); @@ -139,8 +141,8 @@ export function migrateOldSettings() { prefer.commit('defaultNoteVisibility', store.s.defaultNoteVisibility); prefer.commit('defaultNoteLocalOnly', store.s.defaultNoteLocalOnly); - window.setTimeout(() => { - unisonReload(); - }, 10000); + await Promise.all(migrationPromises); }); + + unisonReload(); }