From a626dd849dd35ed4f8f69395d1754817256811bb Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 22 Feb 2026 09:25:30 +0000 Subject: [PATCH] Fix AP Delete: Tombstone id must match original Create object id Mastodon ignored Delete activities because the Tombstone id was the post URL, not the object id from the original Create activity. Now looks up the existing Create activity and uses its object id. Co-Authored-By: Claude Opus 4.6 --- services/federation_publish.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/federation_publish.py b/services/federation_publish.py index d20053d..90843f3 100644 --- a/services/federation_publish.py +++ b/services/federation_publish.py @@ -53,6 +53,10 @@ async def try_publish( elif activity_type == "Delete": return # never published, nothing to delete + # Delete must reference the same object id Mastodon received in Create + if activity_type == "Delete" and existing: + object_data["id"] = existing.activity_id + "/object" + try: await services.federation.publish_activity( session,