copy changes to local-timeline.ts

This commit is contained in:
Hazelnoot 2025-06-03 15:21:42 -04:00
parent 4b58752a16
commit c3ba139655

View file

@ -103,13 +103,14 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
withFiles: ps.withFiles, withFiles: ps.withFiles,
withReplies: ps.withReplies, withReplies: ps.withReplies,
withBots: ps.withBots, withBots: ps.withBots,
withRenotes: ps.withRenotes,
}, me); }, me);
process.nextTick(() => { if (me) {
if (me) { process.nextTick(() => {
this.activeUsersChart.read(me); this.activeUsersChart.read(me);
} });
}); }
return await this.noteEntityService.packMany(timeline, me); return await this.noteEntityService.packMany(timeline, me);
} }
@ -136,14 +137,15 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
withFiles: ps.withFiles, withFiles: ps.withFiles,
withReplies: ps.withReplies, withReplies: ps.withReplies,
withBots: ps.withBots, withBots: ps.withBots,
withRenotes: ps.withRenotes,
}, me), }, me),
}); });
process.nextTick(() => { if (me) {
if (me) { process.nextTick(() => {
this.activeUsersChart.read(me); this.activeUsersChart.read(me);
} });
}); }
return timeline; return timeline;
}); });
@ -156,26 +158,38 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
withFiles: boolean, withFiles: boolean,
withReplies: boolean, withReplies: boolean,
withBots: boolean, withBots: boolean,
withRenotes: boolean,
}, me: MiLocalUser | null) { }, me: MiLocalUser | null) {
const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'), const query = this.queryService.makePaginationQuery(this.notesRepository.createQueryBuilder('note'),
ps.sinceId, ps.untilId) ps.sinceId, ps.untilId)
.andWhere('(note.visibility = \'public\') AND (note.userHost IS NULL) AND (note.channelId IS NULL)') .andWhere('note.visibility = \'public\'')
.andWhere('note.channelId IS NULL')
.andWhere('note.userHost IS NULL')
.innerJoinAndSelect('note.user', 'user') .innerJoinAndSelect('note.user', 'user')
.leftJoinAndSelect('note.reply', 'reply') .leftJoinAndSelect('note.reply', 'reply')
.leftJoinAndSelect('note.renote', 'renote') .leftJoinAndSelect('note.renote', 'renote')
.leftJoinAndSelect('reply.user', 'replyUser') .leftJoinAndSelect('reply.user', 'replyUser', 'replyUser.id = note.replyUserId')
.leftJoinAndSelect('renote.user', 'renoteUser'); .leftJoinAndSelect('renote.user', 'renoteUser', 'renoteUser.id = note.renoteUserId');
this.queryService.generateVisibilityQuery(query, me);
this.queryService.generateBlockedHostQueryForNote(query); this.queryService.generateBlockedHostQueryForNote(query);
if (me) this.queryService.generateMutedUserQueryForNotes(query, me); this.queryService.generateSilencedUserQueryForNotes(query, me);
if (me) this.queryService.generateBlockedUserQueryForNotes(query, me); if (me) {
if (me) this.queryService.generateMutedUserRenotesQueryForNotes(query, me); this.queryService.generateMutedUserQueryForNotes(query, me);
this.queryService.generateBlockedUserQueryForNotes(query, me);
}
if (ps.withFiles) { if (ps.withFiles) {
query.andWhere('note.fileIds != \'{}\''); query.andWhere('note.fileIds != \'{}\'');
} }
if (!ps.withBots) query.andWhere('user.isBot = FALSE');
if (!ps.withRenotes) {
this.queryService.generateExcludedRenotesQueryForNotes(query);
} else if (me) {
this.queryService.generateMutedUserRenotesQueryForNotes(query, me);
}
if (!ps.withReplies) { if (!ps.withReplies) {
query.andWhere(new Brackets(qb => { query.andWhere(new Brackets(qb => {
qb qb
@ -188,8 +202,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
})); }));
} }
if (!ps.withBots) query.andWhere('user.isBot = FALSE');
return await query.limit(ps.limit).getMany(); return await query.limit(ps.limit).getMany();
} }
} }