From 22d6fa1fdf1dd4b61673d10cac6ca866dd5f26d8 Mon Sep 17 00:00:00 2001 From: yukineko <27853966+hideki0403@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:48:02 +0900 Subject: enhance(dev): 開発モード時にlocaleと型定義が自動的に再生成されるように (#12481) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * enhance: localeを任意のタイミングでリビルドできるように * enhance: localeも監視し、必要であればlocaleをリビルドするように * feat: devモードの時のみナビゲーションバーからキャッシュクリアができるように * refactor: キャッシュクリア部分を共通化 * fix: localesのファイル変更イベントが取れないのを修正 * fix: replaceAllでコケるのを修正 * change: 開発モードに関係なくナビゲーションバーからキャッシュクリアできるように * refactor: 必要のないリビルドをしないように * update: CHANGELOG.md --------- Co-authored-by: syuilo --- packages/frontend/src/scripts/clear-cache.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 packages/frontend/src/scripts/clear-cache.ts (limited to 'packages/frontend/src/scripts/clear-cache.ts') diff --git a/packages/frontend/src/scripts/clear-cache.ts b/packages/frontend/src/scripts/clear-cache.ts new file mode 100644 index 0000000000..5f27254b8a --- /dev/null +++ b/packages/frontend/src/scripts/clear-cache.ts @@ -0,0 +1,14 @@ +import { unisonReload } from '@/scripts/unison-reload.js'; +import * as os from '@/os.js'; +import { miLocalStorage } from '@/local-storage.js'; +import { fetchCustomEmojis } from '@/custom-emojis.js'; + +export async function clearCache() { + os.waiting(); + miLocalStorage.removeItem('locale'); + miLocalStorage.removeItem('theme'); + miLocalStorage.removeItem('emojis'); + miLocalStorage.removeItem('lastEmojisFetchedAt'); + await fetchCustomEmojis(true); + unisonReload(); +} -- cgit v1.2.3-freya From 239507d7d6d0a8574bb641adee66d9da96537bb9 Mon Sep 17 00:00:00 2001 From: yukineko <27853966+hideki0403@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:21:57 +0900 Subject: fix: devモードの特定条件下でページが表示されなくなる問題を修正 (#12653) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: devモードでキャッシュクリアするとページが表示されなくなる問題を修正 * fix: localeがnullの場合も最新のlocaleを取得するように --- packages/frontend/src/boot/common.ts | 4 ++-- packages/frontend/src/scripts/clear-cache.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'packages/frontend/src/scripts/clear-cache.ts') diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 60f2781fdf..728f39962b 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -8,7 +8,7 @@ import { compareVersions } from 'compare-versions'; import widgets from '@/widgets/index.js'; import directives from '@/directives/index.js'; import components from '@/components/index.js'; -import { version, ui, lang, updateLocale } from '@/config.js'; +import { version, ui, lang, updateLocale, locale } from '@/config.js'; import { applyTheme } from '@/scripts/theme.js'; import { isDeviceDarkmode } from '@/scripts/is-device-darkmode.js'; import { i18n, updateI18n } from '@/i18n.js'; @@ -88,7 +88,7 @@ export async function common(createVue: () => App) { //#region Detect language & fetch translations const localeVersion = miLocalStorage.getItem('localeVersion'); - const localeOutdated = (localeVersion == null || localeVersion !== version); + const localeOutdated = (localeVersion == null || localeVersion !== version || locale == null); if (localeOutdated) { const res = await window.fetch(`/assets/locales/${lang}.${version}.json`); if (res.status === 200) { diff --git a/packages/frontend/src/scripts/clear-cache.ts b/packages/frontend/src/scripts/clear-cache.ts index 5f27254b8a..f2db87c4fb 100644 --- a/packages/frontend/src/scripts/clear-cache.ts +++ b/packages/frontend/src/scripts/clear-cache.ts @@ -6,6 +6,7 @@ import { fetchCustomEmojis } from '@/custom-emojis.js'; export async function clearCache() { os.waiting(); miLocalStorage.removeItem('locale'); + miLocalStorage.removeItem('localeVersion'); miLocalStorage.removeItem('theme'); miLocalStorage.removeItem('emojis'); miLocalStorage.removeItem('lastEmojisFetchedAt'); -- cgit v1.2.3-freya