diff --git a/CHANGELOG.md b/CHANGELOG.md index bdd082a1c2..f026b97fa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - Fix: コードエディタが正しく表示されない問題を修正 - Fix: プロフィールの「ファイル」にセンシティブな画像がある際のデザインを修正 - Fix: 一度に大量の通知が入った際に通知音が音割れする問題を修正 +- Fix: 通知のグルーピング設定を変更してもリロードされるまで表示が変わらない問題を修正 #12470 ### Server - Enhance: MFM `$[ruby ]` が他ソフトウェアと連合されるように diff --git a/packages/frontend/src/components/MkNotifications.vue b/packages/frontend/src/components/MkNotifications.vue index 7b072fa492..2a0082204a 100644 --- a/packages/frontend/src/components/MkNotifications.vue +++ b/packages/frontend/src/components/MkNotifications.vue @@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only </template> <script lang="ts" setup> -import { onUnmounted, onDeactivated, onMounted, computed, shallowRef, onActivated } from 'vue'; +import { onUnmounted, onDeactivated, onMounted, computed, shallowRef, onActivated, watch } from 'vue'; import MkPagination, { Paging } from '@/components/MkPagination.vue'; import XNotification from '@/components/MkNotification.vue'; import MkDateSeparatedList from '@/components/MkDateSeparatedList.vue'; @@ -43,7 +43,7 @@ const props = defineProps<{ const pagingComponent = shallowRef<InstanceType<typeof MkPagination>>(); -const pagination: Paging = defaultStore.state.useGroupedNotifications ? { +let pagination = $computed(() => defaultStore.reactiveState.useGroupedNotifications.value ? { endpoint: 'i/notifications-grouped' as const, limit: 20, params: computed(() => ({ @@ -55,7 +55,7 @@ const pagination: Paging = defaultStore.state.useGroupedNotifications ? { params: computed(() => ({ excludeTypes: props.excludeTypes ?? undefined, })), -}; +}); function onNotification(notification) { const isMuted = props.excludeTypes ? props.excludeTypes.includes(notification.type) : false; diff --git a/packages/frontend/src/components/MkPagination.vue b/packages/frontend/src/components/MkPagination.vue index e7796dfcb5..2c59e6d4e8 100644 --- a/packages/frontend/src/components/MkPagination.vue +++ b/packages/frontend/src/components/MkPagination.vue @@ -186,7 +186,7 @@ watch([$$(backed), $$(contentEl)], () => { }); // パラメータに何らかの変更があった際、再読込したい(チャンネル等のIDが変わったなど) -watch(() => props.pagination.params, init, { deep: true }); +watch(() => [props.pagination.endpoint, props.pagination.params], init, { deep: true }); watch(queue, (a, b) => { if (a.size === 0 && b.size === 0) return;