diff --git a/lib/mastodon/routes/statuses.js b/lib/mastodon/routes/statuses.js index c22102f..22873d4 100644 --- a/lib/mastodon/routes/statuses.js +++ b/lib/mastodon/routes/statuses.js @@ -567,8 +567,17 @@ async function findTimelineItemById(collection, id) { // Try cursor-based lookup first (published date from ms-since-epoch) const publishedDate = decodeCursor(id); if (publishedDate) { - const item = await collection.findOne({ published: publishedDate }); + // Try exact match first (with .000Z suffix from toISOString) + let item = await collection.findOne({ published: publishedDate }); if (item) return item; + + // Try without milliseconds — stored dates often lack .000Z + // e.g., "2026-03-21T15:33:50Z" vs "2026-03-21T15:33:50.000Z" + const withoutMs = publishedDate.replace(/\.000Z$/, "Z"); + if (withoutMs !== publishedDate) { + item = await collection.findOne({ published: withoutMs }); + if (item) return item; + } } // Fall back to ObjectId lookup (legacy IDs) diff --git a/package.json b/package.json index 88b9754..36083ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@rmdes/indiekit-endpoint-activitypub", - "version": "3.6.9", + "version": "3.7.0", "description": "ActivityPub federation endpoint for Indiekit via Fedify. Adds full fediverse support: actor, inbox, outbox, followers, following, syndication, and Mastodon migration.", "keywords": [ "indiekit",