Pasture: PeerTube joins, and its videos play through us

PeerTube 8.3.1 runs on the shared Postgres and Redis, transcoding off. Its
scenario passes 24 checks: a persona follows a channel; a new video comes as
the channel's Announce and reaches the persona's home as a boost, playable
through the media proxy with byte ranges; comments both ways thread; a like
and its undo count; renaming and deletion arrive; the unfollow; statistics.

The town's seeder also takes reruns on the same accounts in its stride: a
Lemmy community already made is found, a circle member already approved
asks nothing again.

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-05 03:52:29 +02:00
1 parent d61eac0a01
commit 40217f3261
8 files changed
+187 -2

No files matched your search

+12
View File
@@ -635,6 +635,18 @@ attachment. The player is a card whose iframe loads from the remote host, which
| Dislike counts; live state through `Update`; chapters and captions | P2 | own |
| Optionally, `View` sent from the instance actor (so it never names a persona) | P3 | — |
**Pasture evidence (2026-10-05, PeerTube 8.3.1, `tools/pasture/scenarios/peertube.sh`):** 24 checks pass:
- a persona finds a channel (a group account) and its owner's account, and follows the channel (accepted at once);
- a new video comes as the channel's `Announce`, not a `Create`, so it reaches the persona's home as the channel's boost
of the video, with a playable attachment served through the media proxy, which answers byte ranges;
- a reply to the video is a comment on PeerTube, and an answer to that comment threads under the video here;
- a like and its undo count on PeerTube; the video's renaming (`Update`) and its deletion reach us;
- the unfollow, and statistics.
PeerTube's own instance account announces each new video too, which we drop: nobody here follows it. Its users can
follow only PeerTube-like channels and accounts, never a persona. It checks the `Host` header against its own name,
without a port, before it gives out its OAuth client.
### Loops (1.0.0-beta.14) and Pixelfed (0.14.4)
- **Loops:**