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
@@ -14,6 +14,7 @@ using PrivaPub.Federation.Actors;
|
||||
using PrivaPub.Federation.Inbox;
|
||||
using PrivaPub.Federation.Inbox.Handlers;
|
||||
using PrivaPub.Federation.Outbox;
|
||||
using PrivaPub.Federation.Relays;
|
||||
using PrivaPub.Infrastructure.Jobs;
|
||||
using PrivaPub.Models;
|
||||
using PrivaPub.Federation.Objects;
|
||||
@@ -57,19 +58,20 @@ namespace PrivaPub.Tests.Support
|
||||
Follows = new FollowService(Db, Local, Remote, Delivery, new KeyLocalizer<GenericRes>(), NullLogger<FollowService>.Instance);
|
||||
Relationships = new RelationshipService(Db, Follows, Delivery);
|
||||
Featured = new FeaturedPosts(Db, Remote, RemotePosts);
|
||||
Relays = new Relays(Microsoft.Extensions.Options.Options.Create(RelayOptions), Remote, Local, Delivery);
|
||||
Handlers = new IActivityHandler[]
|
||||
{
|
||||
new FollowHandler(Db, Local, Remote, Delivery),
|
||||
new AcceptHandler(Db, Local, Quotes, Approvals, Participations),
|
||||
new RejectHandler(Db, Local, Quotes, Approvals, Participations),
|
||||
new AcceptHandler(Db, Local, Quotes, Approvals, Participations, Relays),
|
||||
new RejectHandler(Db, Local, Quotes, Approvals, Participations, Relays),
|
||||
new UndoHandler(Db, Local, Reactions),
|
||||
new LikeHandler(Db, Reactions),
|
||||
new EmojiReactHandler(Db, Reactions),
|
||||
new QuoteRequestHandler(Quotes),
|
||||
new DislikeHandler(Db),
|
||||
new JoinHandler(Db, Local, Delivery),
|
||||
new AnnounceHandler(Db, Local, RemotePosts, Fanout, Remote, Records, Quotes),
|
||||
new CreateHandler(Db, Local, Remote, Delivery, new NoBlocks(), Fanout, RemotePosts, Groups, Records, Polls, new NoPreviews(), Quotes, Approvals),
|
||||
new AnnounceHandler(Db, Local, RemotePosts, Fanout, Remote, Records, Quotes, relays: Relays),
|
||||
new CreateHandler(Db, Local, Remote, Delivery, new NoBlocks(), Fanout, RemotePosts, Groups, Records, Polls, new NoPreviews(), Quotes, Approvals, Relays),
|
||||
new DeleteHandler(Db, Local, Remote, Delivery, Groups, Quotes),
|
||||
new UpdateHandler(Db, Local, Remote, Groups, Records, Quotes, Delivery),
|
||||
new FlagHandler(Db, Local),
|
||||
@@ -118,6 +120,9 @@ namespace PrivaPub.Tests.Support
|
||||
public TimelineService Timelines { get; }
|
||||
public RelationshipService Relationships { get; }
|
||||
public FeaturedPosts Featured { get; }
|
||||
public Relays Relays { get; }
|
||||
// the relays the harness's instance actor subscribes to: a test sets them before Relays.Reconcile
|
||||
public PrivaPub.Infrastructure.Http.FederationOptions RelayOptions { get; } = new();
|
||||
public ReportService Reports { get; }
|
||||
|
||||
public async Task FollowedBy(LocalActor local, RemoteActor follower) =>
|
||||
|
||||
Reference in new issue
Block a user