fix: sign ActivityPub delivery with multikey id #211

Merged
erik merged 2 commits from fix/task-2a77b569-activitypub-multikey-delivery into main 2026-06-27 10:37:53 -05:00
Owner

Summary

  • Ported the slugkit.com ActivityPub multikey delivery proof-of-fix from commits 9f5e309 and 4c302d6.
  • Sign direct Follow Accept delivery with the Fedify 2 multikey id (#multikey-1).
  • Sign follower fanout delivery with #multikey-1 while preserving shared inbox recipient handling.
  • Added regression coverage for Accept and follower fanout sender key ids, and left legacy actor publicKey output unchanged.
  • Documented use of fj for Forgejo PR and CI operations in AGENTS.md.

Verification

  • npm run lint
  • npm run typecheck --workspace @slugkit/template-site
  • npm exec --workspace @slugkit/template-site -- vitest run --config ./vitest.config.ts src/federation/tests/delivery.test.ts src/federation/tests/routes.test.ts
  • npm test
  • npm run build
  • ./scripts/pre-pr.sh

Task: #task-2a77b569

## Summary - Ported the slugkit.com ActivityPub multikey delivery proof-of-fix from commits 9f5e309 and 4c302d6. - Sign direct Follow Accept delivery with the Fedify 2 multikey id (#multikey-1). - Sign follower fanout delivery with #multikey-1 while preserving shared inbox recipient handling. - Added regression coverage for Accept and follower fanout sender key ids, and left legacy actor publicKey output unchanged. - Documented use of `fj` for Forgejo PR and CI operations in AGENTS.md. ## Verification - npm run lint - npm run typecheck --workspace @slugkit/template-site - npm exec --workspace @slugkit/template-site -- vitest run --config ./vitest.config.ts src/federation/__tests__/delivery.test.ts src/federation/__tests__/routes.test.ts - npm test - npm run build - ./scripts/pre-pr.sh Task: #task-2a77b569
fix: sign ActivityPub delivery with multikey id
Some checks failed
CI / build-lint-test (pull_request) Failing after 22s
54d4593155
Task: #task-2a77b569
docs: prefer fj for Forgejo operations
All checks were successful
CI / build-lint-test (pull_request) Successful in 49s
1f45973977
Author
Owner

Review summary

Approved.

Acceptance criteria

  • Template-generated sites sign outbound Follow Accept delivery with https://<site>/users/<actor>#multikey-1.
  • Template-generated sites sign follower fanout post delivery with https://<site>/users/<actor>#multikey-1.
  • Existing legacy actor publicKey output remains compatible unless intentionally changed.
  • Regression tests cover both direct Accept delivery and follower fanout delivery key ids.
  • Tests and build for the Slugkit template site pass.
  • Implementation notes reference the slugkit.com proof-of-fix commits above.

Blocking issues

  • None.

Warnings

  • None.

Verification reviewed

  • ./scripts/pre-pr.sh passed locally.
  • Forgejo CI run #296 passed.

Final verdict

Approved. Ready for human merge approval.

### Review summary Approved. ### Acceptance criteria - [x] Template-generated sites sign outbound Follow `Accept` delivery with `https://<site>/users/<actor>#multikey-1`. - [x] Template-generated sites sign follower fanout post delivery with `https://<site>/users/<actor>#multikey-1`. - [x] Existing legacy actor `publicKey` output remains compatible unless intentionally changed. - [x] Regression tests cover both direct Accept delivery and follower fanout delivery key ids. - [x] Tests and build for the Slugkit template site pass. - [x] Implementation notes reference the slugkit.com proof-of-fix commits above. ### Blocking issues - None. ### Warnings - None. ### Verification reviewed - `./scripts/pre-pr.sh` passed locally. - Forgejo CI run #296 passed. ### Final verdict Approved. Ready for human merge approval.
erik merged commit e3013ff101 into main 2026-06-27 10:37:53 -05:00
erik deleted branch fix/task-2a77b569-activitypub-multikey-delivery 2026-06-27 10:37:53 -05:00
Sign in to join this conversation.
No reviewers
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/slugkit!211
No description provided.