Changeset 7e53594 in Klonkt for src/routes/activitypub.js


Ignore:
Timestamp:
08/10/2026 03:53:26 AM (4 weeks ago)
Author:
Bart <bart@…>
Branches:
main
Children:
0db3c72
Parents:
f06ed56
Message:

shaer:log: het logboek staat naast de wachtrijen, niet erin

De apps konden er niet bij. Het logboek zat achter /guardian/api/events, een
PWA-route, dus een ward kon niet lezen waarom haar eigen aanbod geweigerd was --
en dat is precies de helft die §4.2 eist.

Eigen sleutel op de actor, GET /ap/users/:slug/log, dezelfde eigenaar-only
bearer als de wachtrijen. Bewust niet onder shaer:queues: alles daar wacht op
een antwoord en dit is wat er al besloten is. Geschiedenis onderbrengen bij een
woord dat "wachtend" betekent maakt van twee dingen één, en dat is de fout die
deze module vandaag drie keer heeft opgeruimd.

type is 'shaer:Event' en geen AS2-werkwoord. De meeste soorten zijn er geen: een
lapse-stem of een opgepakte hulpvraag is geen Accept, en het zo noemen zou
netter lezen dan het is.

Clients vinden hem via het actor-document, niet via een pad dat ze zelf
verzinnen (shaer-qa0). De AS2-test viel netjes om tot shaer:log was aangemeld --
tweede keer vandaag dat die het vangt.

De daemon volgt (shaer-6d9): zolang die geen shaer:log serveert, liegt een
client die tegen beide praat over een van de twee.

Co-Authored-By: Claude Opus 5 <claude@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/activitypub.js

    rf06ed56 r7e53594  
    344344// guardians' real states here and nowhere else.
    345345queueRoute('guardians', (id, slug) => Guardianship.guardiansCollection(id, slug));
     346
     347// ── Het logboek (FEP-633c §4.2, shaer:log) ────────────────────────────
     348// NAAST de wachtrijen en niet erin: alles onder shaer:queues wacht op een
     349// antwoord, dit is wat er al besloten is. Eigen pad, dezelfde eigenaar-only
     350// bearer. Het bestaat omdat een weigering anders alleen te merken viel doordat
     351// er iets uit een lijst verdween, en "het is weg" is geen reden.
     352router.get('/ap/users/:slug/log', (req, res) => {
     353  const auth = OAuth.verifyBearer(req.headers.authorization);
     354  if (!auth || auth.site.slug !== req.params.slug) return res.status(403).end();
     355  const me = `${baseUrl(req)}/ap/users/${auth.site.slug}`;
     356  AP.sendAP(res, {
     357    '@context': AP.AP_CONTEXT,
     358    ...Guardianship.logCollection(`${me}/log`, auth.site.slug, (s) => AP.listGuardianEvents(s, 50)),
     359  }, 'private, no-store');
     360});
    346361// De hulpvragen MET hun staat (5.2.1, shaer-lgo). De apps lazen ze uit de feed
    347362// en wisten dus niet of er al iemand op af was -- daarom bleef een afgehandeld
Note: See TracChangeset for help on using the changeset viewer.