diff --git a/CLAUDE.md b/CLAUDE.md
index 5b208c2..37e9841 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -261,6 +261,8 @@ supplies:
- **The composer** (`Components/Composer.razor`) writes a post, a reply (`InReplyTo`), a quote (`Quoting`, offered on a
card when the server says the persona may quote it) or an edit of the persona's own post (`Editing`: its words and
warning from `/source`, a PUT that keeps its media, visibility and poll); a post can hold a poll instead of media.
+ An edited post's card says so, and its versions open from there (`/statuses/:id/history`, newest first; PrivaPub
+ keeps a remote post's earlier versions from its edits and from Pleroma's `formerRepresentations`).
- **Threads** (`Pages/ExpandMessage.razor` at `/expand/{id}`): opening a remote thread makes PrivaPub read its replies
from their servers (its FEP-7888 `context`, else `replies`), so the page reads the thread again after 4 and 15 seconds
and adds what was found, in the thread's order.
diff --git a/Components/Content.razor b/Components/Content.razor
index 30c8b3a..4b57c0b 100644
--- a/Components/Content.razor
+++ b/Components/Content.razor
@@ -109,11 +109,12 @@
- @if (status.EditedAt is not null)
- {
- *
- }
+ @if (status.EditedAt is not null)
+ {
+
+ }
@@ -369,6 +370,27 @@
{
}
+ @if (isHistoryOpen)
+ {
+
+ @Localizer["Edit history"]
+
+
+ @foreach (var version in Enumerable.Reverse(history))
+ {
+