The AP blocked collection: the server blocklist drives Shaer's Orbit
Robins call: no separate client-side Orbit state; the block list on the
server is the source of truth. The actor now advertises the standard
ActivityPub blocked collection (spec 5.6) and the owner reads it over C2S;
Shaer hydrates "in Orbit" from it and keeps nothing locally.
Changed files:
src/services/ActivityPubService.js
- buildActor: blocked: {id}/blocked (AP 5.6, owner-only GET)
src/routes/activitypub.js
- GET /ap/users/:slug/blocked (bearer, owner-only): actor-kind blocks
as an OrderedCollection of actor uris; domain blocks stay out
(instance policy, not an Orbit member)
test/c2s-block.test.js
- the actor advertises blocked; actor-kind items only
test/activitypub-as2.test.js
- blocked added to the AS2 allowlist (a spec term, same family as
liked/streams)
153 tests, all green.
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>