From baf785bdc1935637b2a8f4a8a3a68fea595c98aa Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 1 Jun 2025 14:42:06 -0400 Subject: [PATCH 1/2] fix withRenotes check in bubble-timeline.ts --- .../api/endpoints/notes/bubble-timeline.ts | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/notes/bubble-timeline.ts b/packages/backend/src/server/api/endpoints/notes/bubble-timeline.ts index 7c375cb0f5..2677143a49 100644 --- a/packages/backend/src/server/api/endpoints/notes/bubble-timeline.ts +++ b/packages/backend/src/server/api/endpoints/notes/bubble-timeline.ts @@ -74,11 +74,7 @@ export default class extends Endpoint { // eslint- throw new ApiError(meta.errors.btlDisabled); } - const [ - followings, - ] = me ? await Promise.all([ - this.cacheService.userFollowingsCache.fetch(me.id), - ]) : [undefined]; + const followings = me ? await this.cacheService.userFollowingsCache.fetch(me.id) : undefined; //#region Construct query const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), @@ -86,7 +82,7 @@ export default class extends Endpoint { // eslint- .andWhere('note.visibility = \'public\'') .andWhere('note.channelId IS NULL') .andWhere('note.userHost IS NULL') - .andWhere('userInstance.isBubbled = true') // This comes from generateVisibilityQuery below + .andWhere('userInstance.isBubbled = true') // This comes from generateBlockedHostQueryForNote below .innerJoinAndSelect('note.user', 'user') .leftJoinAndSelect('note.reply', 'reply') .leftJoinAndSelect('note.renote', 'renote') @@ -105,14 +101,14 @@ export default class extends Endpoint { // eslint- if (!ps.withBots) query.andWhere('user.isBot = FALSE'); - if (ps.withRenotes === false) { - query.andWhere(new Brackets(qb => { - qb.where('note.renoteId IS NULL'); - qb.orWhere(new Brackets(qb => { - qb.where('note.text IS NOT NULL'); - qb.orWhere('note.fileIds != \'{}\''); - })); - })); + if (!ps.withRenotes) { + query.andWhere(new Brackets(qb => qb + .orWhere('note.renoteId IS NULL') + .orWhere('note.text IS NOT NULL') + .orWhere('note.cw IS NOT NULL') + .orWhere('note.replyId IS NOT NULL') + .orWhere('note.hasPoll = false') + .orWhere('note.fileIds != \'{}\''))); } //#endregion From b7abc5b3b46f9399706d6def88cc6142265be37c Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 1 Jun 2025 14:42:13 -0400 Subject: [PATCH 2/2] fix withRenotes check in generateMutedUserRenotesQueryForNotes --- packages/backend/src/core/QueryService.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/backend/src/core/QueryService.ts b/packages/backend/src/core/QueryService.ts index 1b00f41d20..51d3f1e2ea 100644 --- a/packages/backend/src/core/QueryService.ts +++ b/packages/backend/src/core/QueryService.ts @@ -247,6 +247,7 @@ export class QueryService { .orWhere('note.text IS NOT NULL') .orWhere('note.cw IS NOT NULL') .orWhere('note.replyId IS NOT NULL') + .orWhere('note.hasPoll = false') .orWhere('note.fileIds != \'{}\'') .orWhere(`note.userId NOT IN (${ mutingQuery.getQuery() })`); }));