From 3ab310e4727f04a2c2f17ef3881075dbe1daf5cb Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 16 Feb 2025 01:29:02 -0500 Subject: [PATCH] relax validation of Announce(Note) timestamps --- packages/backend/src/core/activitypub/ApInboxService.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/backend/src/core/activitypub/ApInboxService.ts b/packages/backend/src/core/activitypub/ApInboxService.ts index 278c97f907..1eef85aeef 100644 --- a/packages/backend/src/core/activitypub/ApInboxService.ts +++ b/packages/backend/src/core/activitypub/ApInboxService.ts @@ -363,10 +363,12 @@ export class ApInboxService { this.logger.info(`Creating the (Re)Note: ${uri}`); const activityAudience = await this.apAudienceService.parseAudience(actor, activity.to, activity.cc, resolver); - const createdAt = activity.published ? new Date(activity.published) : null; + let createdAt = activity.published ? new Date(activity.published) : null; - if (createdAt && createdAt < this.idService.parse(renote.id).date) { - return 'skip: malformed createdAt'; + const renoteDate = this.idService.parse(renote.id).date; + if (createdAt && createdAt < renoteDate) { + this.logger.warn(`Correcting invalid publish time for Announce "${uri}"`); + createdAt = renoteDate; } await this.noteCreateService.create(actor, {