update latest note in background (don't await the result)
This commit is contained in:
parent
b18d7c0f3f
commit
c55af9c3b3
2 changed files with 17 additions and 4 deletions
|
@ -531,8 +531,6 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||
await this.notesRepository.insert(insert);
|
||||
}
|
||||
|
||||
await this.updateLatestNote(insert);
|
||||
|
||||
return insert;
|
||||
} catch (e) {
|
||||
// duplicate key error
|
||||
|
@ -815,6 +813,9 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||
});
|
||||
}
|
||||
|
||||
// Update the Latest Note index / following feed
|
||||
this.updateLatestNoteBG(note);
|
||||
|
||||
// Register to search database
|
||||
if (!user.noindex) this.index(note);
|
||||
}
|
||||
|
@ -1145,7 +1146,13 @@ export class NoteCreateService implements OnApplicationShutdown {
|
|||
this.dispose();
|
||||
}
|
||||
|
||||
private async updateLatestNote(note: MiNote) {
|
||||
private updateLatestNoteBG(note: MiNote): void {
|
||||
this
|
||||
.updateLatestNote(note)
|
||||
.catch(err => console.error('Unhandled exception while updating latest_note (after create):', err));
|
||||
}
|
||||
|
||||
private async updateLatestNote(note: MiNote): Promise<void> {
|
||||
// Ignore DMs.
|
||||
// Followers-only posts are *included*, as this table is used to back the "following" feed.
|
||||
if (note.visibility === 'specified') return;
|
||||
|
|
|
@ -152,7 +152,7 @@ export class NoteDeleteService {
|
|||
userId: user.id,
|
||||
});
|
||||
|
||||
await this.updateLatestNote(note);
|
||||
this.updateLatestNoteBG(note);
|
||||
|
||||
if (deleter && (note.userId !== deleter.id)) {
|
||||
const user = await this.usersRepository.findOneByOrFail({ id: note.userId });
|
||||
|
@ -236,6 +236,12 @@ export class NoteDeleteService {
|
|||
}
|
||||
}
|
||||
|
||||
private updateLatestNoteBG(note: MiNote): void {
|
||||
this
|
||||
.updateLatestNote(note)
|
||||
.catch(err => console.error('Unhandled exception while updating latest_note (after delete):', err));
|
||||
}
|
||||
|
||||
private async updateLatestNote(note: MiNote) {
|
||||
// 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;
|
||||
|
|
Loading…
Reference in a new issue