fix: start ActivityPub queue worker #206

Merged
erik merged 1 commit from fix/task-677d2a8f-activitypub-queue-worker into main 2026-06-26 15:30:38 -05:00
Owner

Task: #task-677d2a8f

Summary

  • start the generated ActivityPub queue worker when ACTIVITYPUB_ENABLED=true
  • reuse the shared queue for route enqueueing and worker processing
  • add ActivityPub route/follow diagnostics
  • document production federation queue requirement
  • include task-pickup workflow clarification

Verification

  • ./scripts/pre-pr.sh
Task: #task-677d2a8f ## Summary - start the generated ActivityPub queue worker when ACTIVITYPUB_ENABLED=true - reuse the shared queue for route enqueueing and worker processing - add ActivityPub route/follow diagnostics - document production federation queue requirement - include task-pickup workflow clarification ## Verification - ./scripts/pre-pr.sh
fix: start ActivityPub queue worker
All checks were successful
CI / build-lint-test (pull_request) Successful in 53s
4b3685b7b9
Task: #task-677d2a8f
Author
Owner

PR review: approved

Summary

This PR ports the generated-site ActivityPub queue-worker fix into the template runtime. It starts the Fedify queue worker when ACTIVITYPUB_ENABLED=true, keeps route enqueueing and worker processing on the same injected/default queue, adds useful federation diagnostics, documents the production federation requirement, and adds regression coverage for queued signed Follow handling through the generated app path.

Acceptance criteria

  • Generated Slugkit runtime starts the Fedify ActivityPub queue worker when running the app — met: template/site/src/index.ts calls startActivityPubQueueWorker(...), which starts Fedify queue processing when ActivityPub is enabled.
  • The generated app uses one shared default queue for route enqueueing and queue-worker processing — met: registerActivityPubRoutes and startActivityPubQueueWorker both use the injected queue or getDefaultActivityPubMessageQueue() via createActivityPubFederation.
  • Regression test covers valid signed Follow processing through generated app/runtime path — met: follow.test.ts adds a generated-app test that starts the queue worker, delivers a signed Follow, persists a follower, and observes an Accept message.
  • ActivityPub route and follow-handler diagnostics are added/preserved — met: route request logging plus follow persistence and Accept queue logs were added.
  • Generated-site docs/config clarify production federation requires ACTIVITYPUB_ENABLED=true — met: template/site/README.md and .env.example now document the queue-worker requirement.
  • A generated site can accept a Mastodon follow and reflect it in followers/feed counts — met by the regression path and existing slugkit.com verification captured on the task.

Blocking issues

None.

Warnings

None.

Final verdict

Approved. CI status is green and ./scripts/pre-pr.sh passed locally before PR creation.

## PR review: approved ### Summary This PR ports the generated-site ActivityPub queue-worker fix into the template runtime. It starts the Fedify queue worker when `ACTIVITYPUB_ENABLED=true`, keeps route enqueueing and worker processing on the same injected/default queue, adds useful federation diagnostics, documents the production federation requirement, and adds regression coverage for queued signed `Follow` handling through the generated app path. ### Acceptance criteria - [x] Generated Slugkit runtime starts the Fedify ActivityPub queue worker when running the app — met: `template/site/src/index.ts` calls `startActivityPubQueueWorker(...)`, which starts Fedify queue processing when ActivityPub is enabled. - [x] The generated app uses one shared default queue for route enqueueing and queue-worker processing — met: `registerActivityPubRoutes` and `startActivityPubQueueWorker` both use the injected queue or `getDefaultActivityPubMessageQueue()` via `createActivityPubFederation`. - [x] Regression test covers valid signed `Follow` processing through generated app/runtime path — met: `follow.test.ts` adds a generated-app test that starts the queue worker, delivers a signed Follow, persists a follower, and observes an Accept message. - [x] ActivityPub route and follow-handler diagnostics are added/preserved — met: route request logging plus follow persistence and Accept queue logs were added. - [x] Generated-site docs/config clarify production federation requires `ACTIVITYPUB_ENABLED=true` — met: `template/site/README.md` and `.env.example` now document the queue-worker requirement. - [x] A generated site can accept a Mastodon follow and reflect it in followers/feed counts — met by the regression path and existing slugkit.com verification captured on the task. ### Blocking issues None. ### Warnings None. ### Final verdict Approved. CI status is green and `./scripts/pre-pr.sh` passed locally before PR creation.
erik merged commit 8ae5de2ab6 into main 2026-06-26 15:30:38 -05:00
erik deleted branch fix/task-677d2a8f-activitypub-queue-worker 2026-06-26 15:30:38 -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!206
No description provided.