Ghost/ghost/activitypub
Fabien 'egg' O'Carroll d6cedaae06
Initialised ActivityPub integration on boot (#21558)
refs https://linear.app/ghost/issue/AP-500

We've got a new @tryghost/activitypub package, which is gonna handle all
of the wiring between Ghost and ActivityPub. Currently that is just the
configuration of webhooks for the internal ActivityPub integration.

All this logic is run on the boot of Ghost, though notably in a
non-blocking manner, it's initialised as part of the background services
so it should not have an effect on the time to serving requests. having
said that - it needs to be defensive against errors, which is why the
entire network request is in a try/catch, as well as lookups for the
integration able to handle missing data.

Unit tests use an in-memory sqlite instance, which means we're testing a
full flow, ideally there would be a way to get the schema from Ghost for
this, but for now this is acceptable IMO.
2024-11-07 13:55:51 +00:00
..
src Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00
test Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00
.eslintrc.js Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00
package.json Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00
README.md Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00
tsconfig.json Initialised ActivityPub integration on boot (#21558) 2024-11-07 13:55:51 +00:00

Activitypub

Service for managing the integration of ActivityPub and Ghost

Usage

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests