diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-10-30 13:38:03 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-10-30 13:38:03 +0900 |
| commit | e512f8c56dbf8c32810a6b25652f57a0ae9b4baf (patch) | |
| tree | aea0b4ba2100e8fedf6a9ae3ac2ca7c0a0e762b9 | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-e512f8c56dbf8c32810a6b25652f57a0ae9b4baf.tar.gz misskey-e512f8c56dbf8c32810a6b25652f57a0ae9b4baf.tar.bz2 misskey-e512f8c56dbf8c32810a6b25652f57a0ae9b4baf.zip | |
fix(frontend): 標準テーマと同じIDを使用してインストールできてしまう問題を修正
Fix #12188
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | packages/frontend/src/theme-store.ts | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 380f214bd1..6dfe43ff0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,7 @@ - Fix: 一部の言語でMisskey Webがクラッシュする問題を修正 - Fix: チャンネルの作成・更新時に失敗した場合何も表示されない問題を修正 #11983 - Fix: 個人カードのemojiがバッテリーになっている問題を修正 +- Fix: 標準テーマと同じIDを使用してインストールできてしまう問題を修正 ### Server - Enhance: RedisへのTLのキャッシュをオフにできるように diff --git a/packages/frontend/src/theme-store.ts b/packages/frontend/src/theme-store.ts index 9cae68d5d3..f37c01cca1 100644 --- a/packages/frontend/src/theme-store.ts +++ b/packages/frontend/src/theme-store.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { Theme } from '@/scripts/theme.js'; +import { Theme, getBuiltinThemes } from '@/scripts/theme.js'; import { miLocalStorage } from '@/local-storage.js'; import { api } from '@/os.js'; import { $i } from '@/account.js'; @@ -29,6 +29,10 @@ export async function fetchThemes(): Promise<void> { export async function addTheme(theme: Theme): Promise<void> { if ($i == null) return; + const builtinThemes = await getBuiltinThemes(); + if (builtinThemes.some(t => t.id === theme.id)) { + throw new Error('builtin theme'); + } await fetchThemes(); const themes = getThemes().concat(theme); await api('i/registry/set', { scope: ['client'], key: 'themes', value: themes }); |