A deleted post's id given to a new post is that new post

PrivaPub remembers a deleted remote post's id for 90 days so that a late Create cannot bring it back. Gancio numbers a
new event after the last one it keeps, so deleting its last event gives the next the same id, and that event was
dropped as deleted. A Create published after the deletion is now kept as the new post; the deleted one's own Create,
however late, still is not. Checked live: Gancio's scenario passes again (17 checks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-06 16:29:21 +02:00
1 parent af2c61292b
commit cb34ab88f7
4 files changed
+78 -4

No files matched your search

+3
View File
@@ -1078,6 +1078,9 @@ FEP-8a8e (draft) is the common reference.
leaves it (the row gone); comments both ways; the organiser's edit, closing the comments (PrivaPub then refuses a
reply) and deletes of a comment and the event; a group post with its title; the unfollow; statistics.
- **Gancio:** a single Application actor; `location` is an **array** of `VirtualLocation` and `Place`; no RSVP.
- **Ids come back:** Gancio numbers a new event after the last one it keeps, so deleting its last event gives the next
one the same id (`/federation/m/1` twice). PrivaPub, which refuses a deleted id's `Create` for 90 days, keeps the new
one when its `published` is after the deletion (2026-10-06).
- **Pasture evidence (2026-10-05, Gancio 1.28.2, `tools/pasture/scenarios/gancio.sh`):** 17 checks pass: alice follows
its actor `relay`; a published event arrives as an Event with its start, end and place; her reply is kept as one of
the event's resources (once `enable_resources` is on); its edit and deletion reach PrivaPub; the unfollow;