Fix Mastodon ActivityPub key refresh in template site #227
Labels
No labels
activitypub
admin
api
architecture
articles
auth
bug
cleanup
cli
comments
compatibility
config
contacts
content
database
deployment
design
dev-env
diagnostics
docs
documentation
email
enhancement
feature
federation
feed
health
homepage
implementation
integration
logging
mastodon
media
navigation
npm-packages
openapi
opengraph
packages
passkeys
preview
priority:high
priority:low
priority:medium
production
proof
proxy
public-routes
public-ui
release
safety
slug-api
slug-auth
slug-core
slug-federation
slug-media
slug-template
social
sources
status:active
status:canceled
status:done
status:inprogress
status:waiting
syndication
tailwind
template
test
web
webauthn
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
erik/slugkit#227
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Generated Slugkit template sites can hit the same Mastodon 4.7 ActivityPub delivery failure fixed in
slugkit.com: outbound delivery is rejected because Mastodon cannot resolve the signing key from the actor/key shape.Reference implementation from
slugkit.com:web-v0.1.32publicKeyonly, withpublicKey.id = /activitypub/keys/{actor}/main-keyassertionMethodomitted for Mastodon compatibilityacct:{actor}@{domain}Steps to reproduce
Expected behavior
Actual behavior
Public key not found for key ...orCould not refresh public key ....Acceptance criteria
publicKeyshape used byslugkit.com./activitypub/keys/{actor}/main-key.assertionMethodunless/until Mastodon compatibility is safely restored.acct:{actor}@{domain}or an equivalently verified Mastodon-compatible key ID.Synced from todu comment by @todu on 2026-06-30T13:21:12.402Z
Review update
publicKey, standalone/activitypub/keys/{actor}/main-keyroute, omittedassertionMethod, outboundacct:{actor}@{domain}signing, focused federation/admin ActivityPub tests, template/CLI package dry-runs,./scripts/pre-pr.sh, and Forgejo CIbuild-lint-testpassed.Synced from todu comment by @todu on 2026-06-30T14:18:35.650Z
Merge and release update
main.@evcraddock/slug-template@0.1.2via run #370.@evcraddock/slug-cli@0.6.2via run #371.@evcraddock/slug-cli@0.6.2installed from npm:npx slug initgenerated template metadata version0.1.2.@evcraddock/slug-templateas a runtime dependency./activitypub/keys/:identifier/main-key.assertionMethods.acct:{actor}@{domain}key IDs.Remaining before task closure: live Mastodon verification on a deployed ActivityPub-enabled site: follow/refollow, publish test note, save actor profile/avatar Update, and confirm Mastodon delivery logs no longer show key refresh errors.
Synced from todu comment by @todu on 2026-06-30T15:00:51.438Z
Set to waiting because all code, CI, merge, npm release, and generated-template verification are complete, but the final acceptance criterion requires live Mastodon verification on a deployed ActivityPub-enabled site: follow/refollow, publish a test note, save actor profile/avatar Update, and confirm no Mastodon key refresh errors in delivery logs.
Synced from todu comment by @todu on 2026-06-30T19:43:14.351Z
Blocked on live Mastodon verification
Attempted to resume final verification. The configured local Slug API target in
/home/erik/Private/code/forgejo/slugkit/.slug/dev.yamlpoints athttp://10.10.1.197:3000/api/v1, but it was not running initially. I started the required local dev environment withmake dev, and local health responded athttp://localhost:3000/api/v1/health.This does not satisfy the remaining acceptance criterion because Mastodon verification requires a public ActivityPub-enabled deployed generated-template site plus a Mastodon account/session and access to delivery logs. The local dev server uses a private LAN origin and cannot be followed/refollowed by Mastodon for this acceptance check.
Needed to complete:
Synced from todu comment by @todu on 2026-06-30T19:52:55.815Z
Closed by explicit user request
The implementation, review, merge, release, generated-template verification, and production
slugkit.comActivityPub spot checks are complete enough for closure per explicit user direction.Evidence already gathered:
@evcraddock/slug-template@0.1.2and@evcraddock/slug-cli@0.6.2.assertionMethod, andacct:{actor}@{domain}signing behavior.https://slugkit.com/.well-known/webfinger?resource=acct:slug@slugkit.comresolves tohttps://slugkit.com/users/slug.https://slugkit.com/users/slugexposes legacypublicKeyonly and omitsassertionMethod.https://slugkit.com/activitypub/keys/slug/main-keyserves the standalone key.@evcraddock@mastodon.onlineand queued the Follow Accept.Closing without further live publish/profile-update probing per user instruction.