Changeset 30871c1 in Klonkt for docs


Ignore:
Timestamp:
07/20/2026 11:35:45 PM (7 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
562e1b0
Parents:
5143ccf
git-author:
Robin <roboburr@…> (07/20/2026 11:35:44 PM)
git-committer:
Robin <roboburr@…> (07/20/2026 11:35:45 PM)
Message:

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

  • prefersEnriched cases

docs/shaer-c2s-api.md

  • document the Prefer opt-in

-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • docs/shaer-c2s-api.md

    r5143ccf r30871c1  
    8484
    8585**Followers and following** are count-only for the public (privacy). With the
    86 owner's bearer they return the real entries as AS2 actor references with display,
    87 so a client shows names and avatars instead of bare ids:
     86owner's bearer they return the real entries. By default these are bare id
     87strings; send `Prefer: return=representation` (FEP-9876) to get them enriched as
     88AS2 actor references with display, so a client shows names and avatars instead of
     89bare ids. The server echoes `Preference-Applied: return=representation` and sets
     90`Vary: Prefer`:
    8891
    8992```json
Note: See TracChangeset for help on using the changeset viewer.