summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/LatestNoteService.ts
diff options
context:
space:
mode:
authorJulia <julia@insertdomain.name>2025-06-19 21:35:18 +0000
committerJulia <julia@insertdomain.name>2025-06-19 21:35:18 +0000
commita77c32b17da63d3932b219f74152cce023a30f4a (patch)
treed2a05796e942c8f250bbd01369eab0cbe5a14531 /packages/backend/src/core/LatestNoteService.ts
parentmerge: release 2025.4.2 (!1051) (diff)
parentMerge branch 'develop' into release/2025.4.3 (diff)
downloadsharkey-a77c32b17da63d3932b219f74152cce023a30f4a.tar.gz
sharkey-a77c32b17da63d3932b219f74152cce023a30f4a.tar.bz2
sharkey-a77c32b17da63d3932b219f74152cce023a30f4a.zip
merge: prepare release 2025.4.3 (!1125)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1125 Approved-by: Marie <github@yuugi.dev> Approved-by: Julia <julia@insertdomain.name>
Diffstat (limited to 'packages/backend/src/core/LatestNoteService.ts')
-rw-r--r--packages/backend/src/core/LatestNoteService.ts25
1 files changed, 10 insertions, 15 deletions
diff --git a/packages/backend/src/core/LatestNoteService.ts b/packages/backend/src/core/LatestNoteService.ts
index c379805506..63f973c6c6 100644
--- a/packages/backend/src/core/LatestNoteService.ts
+++ b/packages/backend/src/core/LatestNoteService.ts
@@ -7,6 +7,7 @@ import { DI } from '@/di-symbols.js';
import type { LatestNotesRepository, NotesRepository } from '@/models/_.js';
import { LoggerService } from '@/core/LoggerService.js';
import Logger from '@/logger.js';
+import { QueryService } from './QueryService.js';
@Injectable()
export class LatestNoteService {
@@ -14,11 +15,12 @@ export class LatestNoteService {
constructor(
@Inject(DI.notesRepository)
- private notesRepository: NotesRepository,
+ private readonly notesRepository: NotesRepository,
@Inject(DI.latestNotesRepository)
- private latestNotesRepository: LatestNotesRepository,
+ private readonly latestNotesRepository: LatestNotesRepository,
+ private readonly queryService: QueryService,
loggerService: LoggerService,
) {
this.logger = loggerService.getLogger('LatestNoteService');
@@ -91,7 +93,7 @@ export class LatestNoteService {
// Find the newest remaining note for the user.
// We exclude DMs and pure renotes.
- const nextLatest = await this.notesRepository
+ const query = this.notesRepository
.createQueryBuilder('note')
.select()
.where({
@@ -106,18 +108,11 @@ export class LatestNoteService {
? Not(null)
: null,
})
- .andWhere(`
- (
- note."renoteId" IS NULL
- OR note.text IS NOT NULL
- OR note.cw IS NOT NULL
- OR note."replyId" IS NOT NULL
- OR note."hasPoll"
- OR note."fileIds" != '{}'
- )
- `)
- .orderBy({ id: 'DESC' })
- .getOne();
+ .orderBy({ id: 'DESC' });
+
+ this.queryService.andIsNotRenote(query, 'note');
+
+ const nextLatest = await query.getOne();
if (!nextLatest) return;
// Record it as the latest