exclude boosts from featured timeline
This commit is contained in:
parent
8d3367dee3
commit
acc0c7867f
@ -63,6 +63,7 @@ import { isReply } from '@/misc/is-reply.js';
|
|||||||
import { trackPromise } from '@/misc/promise-tracker.js';
|
import { trackPromise } from '@/misc/promise-tracker.js';
|
||||||
import { isUserRelated } from '@/misc/is-user-related.js';
|
import { isUserRelated } from '@/misc/is-user-related.js';
|
||||||
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
import { IdentifiableError } from '@/misc/identifiable-error.js';
|
||||||
|
import { isQuote, isRenote } from '@/misc/is-renote.js';
|
||||||
|
|
||||||
type NotificationType = 'reply' | 'renote' | 'quote' | 'mention';
|
type NotificationType = 'reply' | 'renote' | 'quote' | 'mention';
|
||||||
|
|
||||||
@ -1136,6 +1137,9 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||||||
// Ignore DMs
|
// Ignore DMs
|
||||||
if (note.visibility === 'specified') return;
|
if (note.visibility === 'specified') return;
|
||||||
|
|
||||||
|
// Ignore pure renotes
|
||||||
|
if (isRenote(note) && !isQuote(note)) return;
|
||||||
|
|
||||||
// Make sure that this isn't an *older* post.
|
// Make sure that this isn't an *older* post.
|
||||||
// We can get older posts through replies, lookups, etc.
|
// We can get older posts through replies, lookups, etc.
|
||||||
const currentLatest = await this.latestNotesRepository.findOneBy({ userId: note.userId });
|
const currentLatest = await this.latestNotesRepository.findOneBy({ userId: note.userId });
|
||||||
|
@ -240,14 +240,25 @@ export class NoteDeleteService {
|
|||||||
// If it's a DM, then it can't possibly be the latest note so we can safely skip this.
|
// If it's a DM, then it can't possibly be the latest note so we can safely skip this.
|
||||||
if (note.visibility === 'specified') return;
|
if (note.visibility === 'specified') return;
|
||||||
|
|
||||||
// Find the newest remaining note for the user
|
// Find the newest remaining note for the user.
|
||||||
|
// We exclude DMs and pure renotes.
|
||||||
const nextLatest = await this.notesRepository
|
const nextLatest = await this.notesRepository
|
||||||
.createQueryBuilder()
|
.createQueryBuilder('note')
|
||||||
.select()
|
.select()
|
||||||
.where({
|
.where({
|
||||||
userId: note.userId,
|
userId: note.userId,
|
||||||
visibility: Not('specified'),
|
visibility: Not('specified'),
|
||||||
})
|
})
|
||||||
|
.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' })
|
.orderBy({ id: 'DESC' })
|
||||||
.getOne();
|
.getOne();
|
||||||
if (!nextLatest) return;
|
if (!nextLatest) return;
|
||||||
|
Loading…
Reference in New Issue
Block a user