Feature: enrichment is opt-in via Prefer (FEP-9876 conformance)
Klonkt is the reference implementation of FEP-9876. The owner
followers/following collections now enrich member representations only
when the client asks with Prefer: return=representation (RFC 7240),
echo Preference-Applied and always set Vary: Prefer; the default is
bare id strings, so the collections match the AP norm and existing
consumers are unaffected. The Prefer predicate is a pure, tested
function.
Changed files:
src/services/ActivityPubService.js
- prefersEnriched(preferHeader): pure Prefer detector, exported
src/routes/activitypub.js
- owner followers/following: enrich only on the preference, set
Preference-Applied + Vary: Prefer
test/c2s-contacts.test.js
docs/shaer-c2s-api.md
- document the Prefer opt-in
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>