Notify followers after actor profile changes #11

Merged
erik merged 1 commit from task-f5cd1c4a-actor-profile-update into main 2026-07-29 18:49:31 -05:00
Owner

Summary

  • build actor documents through one shared serializer for actor endpoints and outbound updates
  • queue a uniquely identified ActivityPub actor Update to followers after profile and social-account saves
  • skip delivery when federation is disabled or the actor has no followers
  • pass the configured ActivityPub queue through settings routes for production and test delivery

Verification

  • npm run build
  • npm run lint
  • npm test (307 tests)
  • focused actor route, serialization, and delivery tests (36 tests)
## Summary - build actor documents through one shared serializer for actor endpoints and outbound updates - queue a uniquely identified ActivityPub actor `Update` to followers after profile and social-account saves - skip delivery when federation is disabled or the actor has no followers - pass the configured ActivityPub queue through settings routes for production and test delivery ## Verification - `npm run build` - `npm run lint` - `npm test` (307 tests) - focused actor route, serialization, and delivery tests (36 tests)
Notify followers of actor profile changes
All checks were successful
CI / build-lint-test (push) Successful in 49s
1bd457b128
Author
Owner

Review summary

The PR adds a shared actor-document serializer and uses it for both the public actor endpoint and outbound actor Update activities. Settings saves queue uniquely identified updates through the existing signed follower-delivery path after actor and social-account persistence. Disabled federation and zero-follower cases return without delivery.

Acceptance criteria

  • Met — Profile and social-account saves queue an actor Update to followers.
  • Met — The update embeds the same current actor document used by the public endpoint, including profile attachments.
  • Pending production verification — Remote follower refresh requires merge, release, deployment, and a production profile save.
  • Met — Disabled federation and zero-follower paths do not queue outbound work.
  • Met — Route tests cover payload, attachments, follower recipient, disabled federation, and no followers.
  • Met — Build, lint, all 307 tests, focused federation tests, and Forgejo CI run 34 passed.

Blocking issues

  • None.

Warnings

  • Production follower refresh must be verified after deployment before the task can close.

Verdict

Approved for merge.

### Review summary The PR adds a shared actor-document serializer and uses it for both the public actor endpoint and outbound actor `Update` activities. Settings saves queue uniquely identified updates through the existing signed follower-delivery path after actor and social-account persistence. Disabled federation and zero-follower cases return without delivery. ### Acceptance criteria - **Met** — Profile and social-account saves queue an actor `Update` to followers. - **Met** — The update embeds the same current actor document used by the public endpoint, including profile attachments. - **Pending production verification** — Remote follower refresh requires merge, release, deployment, and a production profile save. - **Met** — Disabled federation and zero-follower paths do not queue outbound work. - **Met** — Route tests cover payload, attachments, follower recipient, disabled federation, and no followers. - **Met** — Build, lint, all 307 tests, focused federation tests, and Forgejo CI run 34 passed. ### Blocking issues - None. ### Warnings - Production follower refresh must be verified after deployment before the task can close. ### Verdict Approved for merge.
erik merged commit 31b73149d1 into main 2026-07-29 18:49:31 -05:00
erik deleted branch task-f5cd1c4a-actor-profile-update 2026-07-29 18:49:31 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/erikvancraddock.com!11
No description provided.