Edit history from formerRepresentations

Pleroma and Akkoma send a post's earlier versions with it. A post PrivaPub first meets after its edits now has its
history, and an edit that carries them brings the versions missed in between; each is read as the post itself is. The
Akkoma scenario checks a post fetched after two edits by an account no persona follows.

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 12:07:49 +02:00
1 parent 02928caac1
commit 679463eb3f
12 files changed
+288 -24

No files matched your search

+4 -3
View File
@@ -411,13 +411,13 @@ collections answer HTML to an ActivityPub `Accept`, so PrivaPub shows no counts
| Gap | P | Client surface |
|---|---|---|
| Language from `@context[].@language` | P1 | `Status.language` |
| `formerRepresentations` → our revisions | P2 | `/statuses/:id/history` |
| `formerRepresentations` → our revisions: **done 2026-10-06** (a post met after its edits has its history; an edit brings the versions missed) | P2 | `/statuses/:id/history` |
| `context`/`conversation` threading; parents and quotes we could not fetch, kept as URIs | P2 | `pleroma.context`; `akkoma.in_reply_to_apid`, `akkoma.quote_apid` precedent |
| `ChatMessage` in as a direct message (also needed for Lemmy, Mbin and PieFed); advertise `acceptsChatMessages` only once it is answered | P1 (in), P3 (out) | `visibility: direct`, Conversations |
| `Listen`, `vcard:bday`, `backgroundUrl` | P3 | own |
**Pasture evidence (2026-10-03, Akkoma 3.20.1, `tools/pasture/scenarios/akkoma.sh`):** 44 checks pass, three runs in a
row. Akkoma publishes no image, so `tools/pasture/images/akkoma` installs its OTP release, pinned by checksum. Covered:
row (45 since 2026-10-06). Akkoma publishes no image, so `tools/pasture/images/akkoma` installs its OTP release, pinned by checksum. Covered:
- discovery and follows both ways;
- posts, CW and followers-only posts;
- the `published` time kept;
@@ -428,7 +428,8 @@ row. Akkoma publishes no image, so `tools/pasture/images/akkoma` installs its OT
- polls and votes both ways;
- quotes both ways (`quote_id` out of its API, `quoteUri` in ours);
- images with alt text both ways;
- edits with history, and deletes, both ways;
- edits with history, and deletes, both ways; a post PrivaPub first meets after two edits, by an account no persona
follows, has its history from `formerRepresentations` (2026-10-06);
- unfollow, block and unblock;
- statistics.