Route outbound Follow through EventProcessor for retry

send_follow now emits a Follow activity via emit_activity() instead of
inline HTTP POST. New ap_follow_handler delivers to the remote inbox;
EventProcessor retries on failure. Wildcard delivery handler skips
Follow type to avoid duplicate broadcast.

Also add /social/ index page to per-app social blueprint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-25 09:25:08 +00:00
parent c6271931a6
commit 0ccf897f74
6 changed files with 157 additions and 35 deletions

View File

@@ -146,6 +146,9 @@ async def on_any_activity(activity: APActivity, session: AsyncSession) -> None:
return
if not services.has("federation"):
return
# Follow activities are delivered by ap_follow_handler, not broadcast
if activity.activity_type == "Follow":
return
# Load actor with private key
actor = (