feat(federation): keep the Cirkel in sync the AP way — inbound Update + outbox backfill
Two AP-native mechanisms so the Cirkel/timeline stays fresh without a custom poll loop:
Inbound Update(Note/Article): a remote edit now refreshes the cached ap_timeline row (and a
cached fediverse reply), scoped to the signing actor so B can't edit A's note. Live edit-sync
via push — selfHeal was a version-bump workaround for not having this handler.
backfillFromOutbox(slug, actorUri): pulls an actor's standard AP outbox and merges their recent
top-level posts into the timeline. Fired fire-and-forget when you feature an account
(setAutoBoost on) or follow+feature in one step. Covers what push cannot: history from before
you followed and deliveries missed while down. PULL ONLY — sends nothing to the fediverse
(consistent with the no-auto-fediverse rule).
src/services/ActivityPubService.js — Update handler in handleInbox; apGetJson + backfillFromOutbox;
wired into setAutoBoost + followActor; exported
Co-Authored-By: Claude <noreply@…>
(No files)
Note:
See TracChangeset
for help on using the changeset viewer.