Changeset f06ed56 in Klonkt for src/routes/guardian.js


Ignore:
Timestamp:
08/10/2026 03:42:31 AM (4 weeks ago)
Author:
Bart <bart@…>
Branches:
main
Children:
7e53594
Parents:
8064da1
Message:

Een logboek, zodat de reden ergens blijft staan

Guardianship-events waren vluchtig: onGuardianshipEvent wekte de long-poll,
zocht in een tabel van zeven soorten of er een push bij hoorde, en liet de rest
vallen. Elf van de achttien soorten verdwenen spoorloos, met hun inhoud. Een
weigering droeg reason: 'not_a_teapot' tot precies daar en niet verder --
terwijl §4.2 eist dat de ward en zijn guardians die reden te HOREN krijgen, en
niet dat ze hem afleiden uit een aanbod dat opeens weg is.

Vastleggen en melden zijn nu twee dingen. Alles komt in ap_guardian_events;
welke gebeurtenis een mens wakker maakt blijft de aparte, korte lijst die het
altijd al was.

Ingeklapt en onderaan, want hier vraagt niets om een antwoord. Zou dit tussen
de wachtrijen staan, dan wordt "moet ik iets doen" onleesbaar -- dezelfde reden
waarom de afgehandelde hulpvragen daar al staan.

200 per account, jongste eerst. Een logboek dat oneindig groeit wordt er een
die niemand opent, en afkappen aan de verkeerde kant zou hem onbruikbaar maken
op het moment dat er juist iets gebeurt. Schrijffouten worden geslikt: het
logboek is bijzaak en mag de commit of de weigering zelf nooit meesleuren.

Onbekende soorten vallen in de PWA terug op hun ruwe naam. Zichtbaar en lelijk
is beter dan netjes en afwezig.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/guardian.js

    r8064da1 rf06ed56  
    7474  'warn_reversible', 'warn_irreversible', 'warn_unknown', 'warn_tally_elsewhere', 'warn_decides', 'warn_not_last', 'warn_go', 'warn_back',
    7575    'help_archive', 'help_archive_hide', 'panel_history',
     76    // Het logboek (§4.2): onbekende soorten vallen terug op hun ruwe naam.
     77    'log_show', 'log_hide', 'evr_not_a_teapot',
     78    'ev_offer_rejected', 'ev_offer_refused', 'ev_committed', 'ev_guardian_left',
     79    'ev_coguardian_left', 'ev_gated_outcome', 'ev_lapse_opened',
    7680    'gate_propose_open', 'gate_propose_close', 'gate_default_off',
    7781    'gate_images', 'gate_messages', 'gate_compose', 'gate_replies', 'gate_music', 'gate_quoteCards', 'gate_asked',
     
    317321});
    318322
     323// Het logboek (§4.2): wat er is gebeurd, met de reden erbij. GEEN wachtrij --
     324// hier staat niets dat om een antwoord vraagt, en daarom hoort het ingeklapt.
     325// Het bestaat omdat een weigering anders alleen te merken was doordat er iets
     326// uit een lijst verdween, en "het is weg" vertelt een ward niet waarom.
     327router.get('/api/events', requireAuth, (req, res) => {
     328  const site = siteForUser(req);
     329  if (!site) return res.status(404).json({ error: 'no_site' });
     330  res.json({ items: AP.listGuardianEvents(site.slug, 50) });
     331});
     332
    319333router.post('/api/follow/:id', requireAuth, express.json({ limit: '4kb' }), async (req, res) => {
    320334  const site = siteForUser(req);
Note: See TracChangeset for help on using the changeset viewer.