diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-05 17:44:00 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-07 12:40:01 -0400 |
| commit | c302a5c2d7696bc9dddeabe914b92ad2fdc0b0ba (patch) | |
| tree | abd55451e5defc2475123450ec5a2310048a1235 /packages/backend/src/core/NoteCreateService.ts | |
| parent | merge: Merge upstream 2025.4.1 (!955) (diff) | |
| download | sharkey-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/NoteCreateService.ts')
| -rw-r--r-- | packages/backend/src/core/NoteCreateService.ts | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts index fd6300483f..ed97908f66 100644 --- a/packages/backend/src/core/NoteCreateService.ts +++ b/packages/backend/src/core/NoteCreateService.ts @@ -51,7 +51,7 @@ import { FanoutTimelineService } from '@/core/FanoutTimelineService.js'; import { UtilityService } from '@/core/UtilityService.js'; import { UserBlockingService } from '@/core/UserBlockingService.js'; import { isReply } from '@/misc/is-reply.js'; -import { trackPromise } from '@/misc/promise-tracker.js'; +import { trackTask } from '@/misc/promise-tracker.js'; import { isUserRelated } from '@/misc/is-user-related.js'; import { IdentifiableError } from '@/misc/identifiable-error.js'; import { LatestNoteService } from '@/core/LatestNoteService.js'; @@ -729,7 +729,7 @@ export class NoteCreateService implements OnApplicationShutdown { //#region AP deliver if (!data.localOnly && this.userEntityService.isLocalUser(user)) { - (async () => { + trackTask(async () => { const noteActivity = await this.renderNoteOrRenoteActivity(data, note, user); const dm = this.apDeliverManagerService.createDeliverManager(user, noteActivity); @@ -755,12 +755,12 @@ export class NoteCreateService implements OnApplicationShutdown { dm.addFollowersRecipe(); } + await dm.execute(); + if (['public'].includes(note.visibility)) { - this.relayService.deliverToRelays(user, noteActivity); + await this.relayService.deliverToRelays(user, noteActivity); } - - trackPromise(dm.execute()); - })(); + }); } //#endregion } |