diff --git a/CHANGELOG_YOJO.md b/CHANGELOG_YOJO.md index 7e51f4791e..8c27ba0cc1 100644 --- a/CHANGELOG_YOJO.md +++ b/CHANGELOG_YOJO.md @@ -11,6 +11,7 @@ Misskey 2025.2.0 - エンドポイント:`api/federation/remote-software` - フロントエンドでは`/about#charts` で確認できます + ### Client - yojo-art アップデートを開くとサーバー設定が更新される問題を修正 [#651](https://github.com/yojo-art/cherrypick/pull/651) - リアクション付ける前に確認ダイアログを追加するオプション [#657](https://github.com/yojo-art/cherrypick/pull/657) @@ -18,6 +19,7 @@ Misskey 2025.2.0 ### Server - リモートのイベントを表示できるように [#658](https://github.com/yojo-art/cherrypick/pull/658) - 通常の検索でもOpenSearchを利用できるように [#661](https://github.com/yojo-art/cherrypick/pull/661) +- `api/i/notifications-grouped`で新着ノートをデフォルトでまとめないように[#662](https://github.com/yojo-art/cherrypick/pull/662) ## 1.3.1 Cherrypick 4.13.0 diff --git a/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts b/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts index 9bf5f0d0b2..6e2602e57a 100644 --- a/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts +++ b/packages/backend/src/server/api/endpoints/i/notifications-grouped.ts @@ -46,6 +46,7 @@ export const paramDef = { sinceId: { type: 'string', format: 'misskey:id' }, untilId: { type: 'string', format: 'misskey:id' }, markAsRead: { type: 'boolean', default: true }, + groupNote: { type: 'boolean', default: false, description: '新着ノート通知をまとめるか' }, // 後方互換のため、廃止された通知タイプも受け付ける includeTypes: { type: 'array', items: { type: 'string', enum: [...groupedNotificationTypes, ...obsoleteNotificationTypes], @@ -157,7 +158,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- prevGroupedNotification.id = notification.id; continue; } - if (prev.type === 'note' && notification.type === 'note') { + if (prev.type === 'note' && notification.type === 'note' && ps.groupNote) { if (prevGroupedNotification.type !== 'note:grouped') { groupedNotifications[groupedNotifications.length - 1] = { type: 'note:grouped', diff --git a/packages/cherrypick-js/src/autogen/types.ts b/packages/cherrypick-js/src/autogen/types.ts index 9193cdb437..7e60d2ed54 100644 --- a/packages/cherrypick-js/src/autogen/types.ts +++ b/packages/cherrypick-js/src/autogen/types.ts @@ -20896,6 +20896,11 @@ export type operations = { untilId?: string; /** @default true */ markAsRead?: boolean; + /** + * @description 新着ノート通知をまとめるか + * @default false + */ + groupNote?: boolean; includeTypes?: ('note' | 'follow' | 'mention' | 'reply' | 'renote' | 'quote' | 'reaction' | 'pollEnded' | 'receiveFollowRequest' | 'followRequestAccepted' | 'groupInvited' | 'roleAssigned' | 'achievementEarned' | 'exportCompleted' | 'login' | 'createToken' | 'scheduleNote' | 'app' | 'test' | 'reaction:grouped' | 'renote:grouped' | 'note:grouped' | 'pollVote')[]; excludeTypes?: ('note' | 'follow' | 'mention' | 'reply' | 'renote' | 'quote' | 'reaction' | 'pollEnded' | 'receiveFollowRequest' | 'followRequestAccepted' | 'groupInvited' | 'roleAssigned' | 'achievementEarned' | 'exportCompleted' | 'login' | 'createToken' | 'scheduleNote' | 'app' | 'test' | 'reaction:grouped' | 'renote:grouped' | 'note:grouped' | 'pollVote')[]; }; diff --git a/packages/frontend/src/components/MkNotifications.vue b/packages/frontend/src/components/MkNotifications.vue index f116ca32b3..a04629c8e7 100644 --- a/packages/frontend/src/components/MkNotifications.vue +++ b/packages/frontend/src/components/MkNotifications.vue @@ -57,6 +57,7 @@ const pagination = computed(() => props.notUseGrouped ? { limit: 20, params: computed(() => ({ excludeTypes: props.excludeTypes ?? undefined, + groupNote: true, })), } : { endpoint: 'i/notifications' as const,