diff --git a/CHANGELOG.md b/CHANGELOG.md index bec4b9d8c9..ddb8250a3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ - 依存関係の更新 ### Client -- +- Fix: 絵文字パレットが空の状態でMisskeyについてのページが閲覧できない問題を修正 ### Server - Fix: 自分の行ったフォロワー限定投稿または指名投稿に自分自身でリアクションなどを行った場合のイベントが流れない問題を修正 diff --git a/packages/frontend-shared/js/const.ts b/packages/frontend-shared/js/const.ts index c8c437afe9..59ab3a8544 100644 --- a/packages/frontend-shared/js/const.ts +++ b/packages/frontend-shared/js/const.ts @@ -79,3 +79,9 @@ export const MFM_PARAMS: Record = { ruby: [], unixtime: [], }; + +/** + * デフォルトの絵文字。UIの演出などでも使用されるため空にしてはいけない + * (絵文字パレットのデフォルト絵文字を空にする等の場合は、preferenceのdefinition側の値を空にすること) + */ +export const DEFAULT_EMOJIS = ['👍', '❤️', '😆', '🤔', '😮', '🎉', '💢', '😥', '😇', '🍮']; diff --git a/packages/frontend/src/pages/about-misskey.vue b/packages/frontend/src/pages/about-misskey.vue index 08a4e80494..002699835a 100644 --- a/packages/frontend/src/pages/about-misskey.vue +++ b/packages/frontend/src/pages/about-misskey.vue @@ -150,6 +150,7 @@ import { definePage } from '@/page.js'; import { claimAchievement, claimedAchievements } from '@/utility/achievements.js'; import { $i } from '@/i.js'; import { prefer } from '@/preferences.js'; +import { DEFAULT_EMOJIS } from '@@/js/const.js'; const patronsWithIcon = [{ name: 'カイヤン', @@ -429,7 +430,12 @@ const containerEl = useTemplateRef('containerEl'); function iconLoaded() { if (containerEl.value == null) return; - const emojis = prefer.s.emojiPalettes[0].emojis; + const emojis = prefer.s.emojiPalettes[0]?.emojis ?? []; + + if (emojis.length < DEFAULT_EMOJIS.length) { + emojis.push(...DEFAULT_EMOJIS.slice(0, DEFAULT_EMOJIS.length - emojis.length)); + } + const containerWidth = containerEl.value.offsetWidth; for (let i = 0; i < 32; i++) { easterEggEmojis.value.push({ diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index b33b53b83c..d6a4c63011 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -5,6 +5,7 @@ import * as Misskey from 'misskey-js'; import { hemisphere } from '@@/js/intl-const.js'; +import { DEFAULT_EMOJIS } from '@@/js/const.js'; import { prefersReducedMotion } from '@@/js/config.js'; import { definePreferences } from './manager.js'; import type { Theme } from '@/theme.js'; @@ -103,7 +104,7 @@ export const PREF_DEF = definePreferences({ default: () => [{ id: genId(), name: '', - emojis: ['👍', '❤️', '😆', '🤔', '😮', '🎉', '💢', '😥', '😇', '🍮'], + emojis: DEFAULT_EMOJIS, }] as { id: string; name: string;