diff --git a/CHANGELOG.md b/CHANGELOG.md index b9b03bc266..3e943714cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ ## next ### General +- Enhance: ユーザーページのノート一覧でRenoteを除外できるように ### Client - Enhance: モデレーションログ機能の強化 diff --git a/packages/backend/src/server/api/endpoints/users/notes.ts b/packages/backend/src/server/api/endpoints/users/notes.ts index 5934baef47..982fcc858a 100644 --- a/packages/backend/src/server/api/endpoints/users/notes.ts +++ b/packages/backend/src/server/api/endpoints/users/notes.ts @@ -42,6 +42,7 @@ export const paramDef = { properties: { userId: { type: 'string', format: 'misskey:id' }, includeReplies: { type: 'boolean', default: true }, + includeRenotes: { type: 'boolean', default: true }, limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 }, sinceId: { type: 'string', format: 'misskey:id' }, untilId: { type: 'string', format: 'misskey:id' }, @@ -118,6 +119,16 @@ export default class extends Endpoint { // eslint- query.andWhere('note.replyId IS NULL'); } + if (ps.includeRenotes === false) { + query.andWhere(new Brackets(qb => { + qb.orWhere('note.renoteId IS NULL'); + qb.orWhere(new Brackets(qb => { + qb.orWhere('note.text IS NOT NULL'); + qb.orWhere('note.fileIds != \'{}\''); + })); + })); + } + if (ps.includeMyRenotes === false) { query.andWhere(new Brackets(qb => { qb.orWhere('note.userId != :userId', { userId: user.id }); diff --git a/packages/frontend/src/pages/user/index.timeline.vue b/packages/frontend/src/pages/user/index.timeline.vue index 3a2a2ade81..fcb2b41651 100644 --- a/packages/frontend/src/pages/user/index.timeline.vue +++ b/packages/frontend/src/pages/user/index.timeline.vue @@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -36,7 +36,8 @@ const pagination = { limit: 10, params: computed(() => ({ userId: props.user.id, - includeReplies: include.value === 'replies' || include.value === 'files', + includeRenotes: include.value === 'all', + includeReplies: include.value === 'all' || include.value === 'files', withFiles: include.value === 'files', })), }; @@ -51,7 +52,7 @@ const pagination = { .tl { background: var(--bg); - border-radius: var(--radius); - overflow: clip; + border-radius: var(--radius); + overflow: clip; }