Relays: PrivaPub reads from the relays its configuration names
Federation:Relays names relays by their actor (or inbox) address; the instance actor follows Public at each, as Mastodon subscribes, a minute after start and every six hours (asked again a day after no answer or a refusal, undone when a relay is no longer named). What an accepted relay passes on comes to the federated timeline and nobody's home: a public post it forwards (Activity-Relay), read again from its origin like any forwarded post, and a post it announces (aode-relay), kept as its author's and never as the relay's boost. Nothing of a persona's is sent to a relay; sending public posts there waits for the owner. The pasture gains both relays (peers/relay.sh, peers/aoderelay.sh) and scenarios/relay.sh, 13 checks. The village backlog is clean: 2574 checks pass, one known gap (Misskey's). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
1 parent
1c7d1ece9c
commit
f6fc0c535c
22 files changed
+542
-24
No files matched your search
@@ -1,17 +1,12 @@
|
||||
# Interop backlog
|
||||
|
||||
Generated by `tools/pasture/town.sh backlog --write` from `village-20261005-111857` on 2026-10-05. Do not edit by hand: fix the cause, or record a known gap in `tools/pasture/town/gaps.json`, and generate it again.
|
||||
Generated by `tools/pasture/town.sh backlog --write` from `village-20261005-220341` on 2026-10-05. Do not edit by hand: fix the cause, or record a known gap in `tools/pasture/town/gaps.json`, and generate it again.
|
||||
|
||||
Checks: 2558 pass, 6 fail, 1 known gaps, 0 known gaps now passing.
|
||||
Checks: 2574 pass, 0 fail, 1 known gaps, 0 known gaps now passing.
|
||||
|
||||
## New failures
|
||||
|
||||
- **`count.boost.public|*|misskey|control`**: 1 failing. Example: p19 expected `>=1`, got `0`.
|
||||
- **`count.like.community|*|mastodon|control`**: 1 failing. Example: p161 expected `>=1`, got `0`.
|
||||
- **`count.boost.public|*|sharkey|control`**: 1 failing. Example: p175 expected `>=1`, got `0`.
|
||||
- **`edit.text|privapub|gts|out`**: 1 failing. Example: p4 expected `(edited)`, got `l market harvest rain quiet tide garden festival bridge (p4)`.
|
||||
- **`client.render.image.followers|privapub|decepub|local`**: 1 failing. Example: p15 expected `None`, got `picture 'picture 1 of p15' did not load`.
|
||||
- **`client.render.image.public|privapub|decepub|local`**: 1 failing. Example: p33 expected `None`, got `picture 'picture 1 of p33' did not load`.
|
||||
None.
|
||||
|
||||
## Known gaps still failing
|
||||
|
||||
|
||||
@@ -753,6 +753,20 @@ PeerTube's own instance account announces each new video too, which we drop: nob
|
||||
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.
|
||||
|
||||
### Relays: Activity-Relay 2.0.9 and aode-relay 0.3.129
|
||||
|
||||
- **Activity-Relay** takes a subscription as a `Follow` of `Public` from an actor with a shared inbox (Mastodon's way)
|
||||
and passes every public activity a subscriber sends on to the others as it came, signed with the relay's key; only a
|
||||
follower whose actor ends in `/relay` (LitePub's way) gets an `Announce` instead.
|
||||
- **aode-relay** takes either kind and announces the post from its own actor.
|
||||
- A forwarded post carries its author's LD signature when Mastodon wrote it; PrivaPub does not verify LD signatures,
|
||||
so it reads every relayed post again from its origin (one signed request each). Verifying them, or FEP-8b32 proofs,
|
||||
would save that request.
|
||||
- **Pasture evidence (2026-10-05, `tools/pasture/scenarios/relay.sh`):** 13 checks pass: PrivaPub's instance actor
|
||||
subscribes to each relay and takes its Accept; Mastodon subscribes; a public post of a Mastodon account nobody here
|
||||
follows reaches the federated timeline, forwarded by Activity-Relay and announced by aode-relay (as its author's,
|
||||
never as the relay's boost), and nobody's home; nothing of a persona's goes to a relay.
|
||||
|
||||
### Smithereen 1.0.3
|
||||
|
||||
- **Walls:** a post is a `Note`; one written on someone else's wall carries the wall (`sm:wall`, FEP-400e) as its
|
||||
|
||||
+3
-1
@@ -682,7 +682,9 @@ it, raw where it doesn't.
|
||||
- FEP-8b32 proof verification;
|
||||
- `hs2019` with SHA-512.
|
||||
- **Discovery:**
|
||||
- a relay client for both relay styles;
|
||||
- a relay client for both relay styles: **reading done 2026-10-05** (`Federation:Relays`; forwarded posts read again
|
||||
from their origin, announces unwrapped; checked live against Activity-Relay and aode-relay); sending public posts to
|
||||
relays waits for the owner;
|
||||
- instance actor discovery (FEP-d556, FEP-2677);
|
||||
- `implements` (FEP-844e).
|
||||
- **Mastodon API:** ~~streaming WebSocket~~ (done 2026-10-05: `/api/v1/streaming` as a WebSocket and as server-sent
|
||||
|
||||
Reference in new issue
Block a user