summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/ActivityPubServerService.ts
diff options
context:
space:
mode:
authorzyoshoka <107108195+zyoshoka@users.noreply.github.com>2025-06-08 09:12:59 +0900
committerGitHub <noreply@github.com>2025-06-08 09:12:59 +0900
commitb5767c315a31363edac4fe39aa5202f94942f7e9 (patch)
tree2273f8ea660156d1bfa4d307eb7d3c313d835bec /packages/backend/src/server/ActivityPubServerService.ts
parentBump version to 2025.6.1-alpha.4 (diff)
downloadmisskey-b5767c315a31363edac4fe39aa5202f94942f7e9.tar.gz
misskey-b5767c315a31363edac4fe39aa5202f94942f7e9.tar.bz2
misskey-b5767c315a31363edac4fe39aa5202f94942f7e9.zip
fix(backend): correct outbox pagination (#16176)
Diffstat (limited to 'packages/backend/src/server/ActivityPubServerService.ts')
-rw-r--r--packages/backend/src/server/ActivityPubServerService.ts27
1 files changed, 21 insertions, 6 deletions
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index f7b22c44c4..a5fb5b82e3 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -482,9 +482,19 @@ export class ActivityPubServerService {
return true;
},
dbFallback: async (untilId, sinceId, limit) => {
- return await this.getUserNotesFromDb(sinceId, untilId, limit, user.id);
+ return await this.getUserNotesFromDb({
+ untilId,
+ sinceId,
+ limit,
+ userId: user.id,
+ });
},
- }) : await this.getUserNotesFromDb(sinceId ?? null, untilId ?? null, limit, user.id);
+ }) : await this.getUserNotesFromDb({
+ untilId: untilId ?? null,
+ sinceId: sinceId ?? null,
+ limit,
+ userId: user.id,
+ });
if (sinceId) notes.reverse();
@@ -523,16 +533,21 @@ export class ActivityPubServerService {
}
@bindThis
- private async getUserNotesFromDb(untilId: string | null, sinceId: string | null, limit: number, userId: MiUser['id']) {
- return await this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), sinceId, untilId)
- .andWhere('note.userId = :userId', { userId })
+ private async getUserNotesFromDb(ps: {
+ untilId: string | null,
+ sinceId: string | null,
+ limit: number,
+ userId: MiUser['id'],
+ }) {
+ return await this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), ps.sinceId, ps.untilId)
+ .andWhere('note.userId = :userId', { userId: ps.userId })
.andWhere(new Brackets(qb => {
qb
.where('note.visibility = \'public\'')
.orWhere('note.visibility = \'home\'');
}))
.andWhere('note.localOnly = FALSE')
- .limit(limit)
+ .limit(ps.limit)
.getMany();
}