summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/PollService.ts
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-05-05 17:44:00 -0400
committerHazelnoot <acomputerdog@gmail.com>2025-05-07 12:40:01 -0400
commitc302a5c2d7696bc9dddeabe914b92ad2fdc0b0ba (patch)
treeabd55451e5defc2475123450ec5a2310048a1235 /packages/backend/src/core/PollService.ts
parentmerge: Merge upstream 2025.4.1 (!955) (diff)
downloadsharkey-c302a5c2d7696bc9dddeabe914b92ad2fdc0b0ba.tar.gz
sharkey-c302a5c2d7696bc9dddeabe914b92ad2fdc0b0ba.tar.bz2
sharkey-c302a5c2d7696bc9dddeabe914b92ad2fdc0b0ba.zip
reorder relay activities to avoid delivery race condition
Diffstat (limited to 'packages/backend/src/core/PollService.ts')
-rw-r--r--packages/backend/src/core/PollService.ts9
1 files changed, 3 insertions, 6 deletions
diff --git a/packages/backend/src/core/PollService.ts b/packages/backend/src/core/PollService.ts
index d6364613bd..33262a4804 100644
--- a/packages/backend/src/core/PollService.ts
+++ b/packages/backend/src/core/PollService.ts
@@ -90,10 +90,7 @@ export class PollService {
}
@bindThis
- public async deliverQuestionUpdate(noteId: MiNote['id']) {
- const note = await this.notesRepository.findOneBy({ id: noteId });
- if (note == null) throw new Error('note not found');
-
+ public async deliverQuestionUpdate(note: MiNote) {
if (note.localOnly) return;
const user = await this.usersRepository.findOneBy({ id: note.userId });
@@ -101,8 +98,8 @@ export class PollService {
if (this.userEntityService.isLocalUser(user)) {
const content = this.apRendererService.addContext(this.apRendererService.renderUpdate(await this.apRendererService.renderNote(note, user, false), user));
- this.apDeliverManagerService.deliverToFollowers(user, content);
- this.relayService.deliverToRelays(user, content);
+ await this.apDeliverManagerService.deliverToFollowers(user, content);
+ await this.relayService.deliverToRelays(user, content);
}
}
}