diff --git a/CHANGELOG.md b/CHANGELOG.md index 407666b5ae..1e1321b66e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - ### Client -- +- Fix: キャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正 ### Server - diff --git a/packages/frontend/src/theme.ts b/packages/frontend/src/theme.ts index 13f5dbf60e..4da8c02d33 100644 --- a/packages/frontend/src/theme.ts +++ b/packages/frontend/src/theme.ts @@ -242,3 +242,9 @@ export async function installTheme(code: string): Promise { if (!theme) return; await addTheme(theme); } + +export function clearAppliedThemeCache() { + miLocalStorage.removeItem('theme'); + miLocalStorage.removeItem('themeId'); + miLocalStorage.removeItem('themeCachedVersion'); +} diff --git a/packages/frontend/src/utility/clear-cache.ts b/packages/frontend/src/utility/clear-cache.ts index 8f1f73466f..0e697edcac 100644 --- a/packages/frontend/src/utility/clear-cache.ts +++ b/packages/frontend/src/utility/clear-cache.ts @@ -9,14 +9,15 @@ import * as os from '@/os.js'; import { miLocalStorage } from '@/local-storage.js'; import { fetchCustomEmojis } from '@/custom-emojis.js'; import { fetchInstance } from '@/instance.js'; +import { clearAppliedThemeCache } from '@/theme.js'; export async function clearCache() { os.waiting(); miLocalStorage.removeItem('instance'); miLocalStorage.removeItem('instanceCachedAt'); - miLocalStorage.removeItem('theme'); miLocalStorage.removeItem('emojis'); miLocalStorage.removeItem('lastEmojisFetchedAt'); + clearAppliedThemeCache(); await misskeyApiGet('clear-browser-cache', {}).catch(() => { // ignore });