Changeset 34e63f0 in Klonkt for src/middleware/site.js


Ignore:
Timestamp:
08/08/2026 05:30:13 AM (5 weeks ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
4d81de5
Parents:
ffb371c
git-author:
Robin <roboburr@…> (08/08/2026 05:30:12 AM)
git-committer:
roboburr <roboburr@…> (08/08/2026 05:30:13 AM)
Message:

De antwoordpoort ook in Klonkts eigen web-UI (shaer-r4c, vervolg)

De poort weigert nu in deliverReply, dus het antwoord komt er niet doorheen --
maar de webinterface toonde het veld gewoon nog. Precies de knop-die-niet-werkt
waar ik in de app-code tegen waarschuwde: een kind duwt tegen een deur die op
slot zit en krijgt geen uitleg.

res.locals.mayReply staat er nu een keer, naast res.locals.site, zodat geen route
hem apart hoeft door te geven.

NIET IN DE PARTIAL ZELF, en dat scheelde een fout. reply-editor.ejs leek het
knooppunt -- vier includes, een plek -- maar hij wordt ook voor BEWERKEN gebruikt
(msg-edit, /fediverse/:id/edit). Een guard daarbinnen had het bewerken van een
eigen bericht meegesloopt.

Dus per include, en in Berichten precies de tak die de server ook kiest:
/messages/reply gaat naar deliverReply als er een interaction+post is (een
antwoord, valt onder de poort) en anders naar deliverDirectNote (een bericht,
andere poort). Alleen de eerste verdwijnt.

De vier gewijzigde templates compileren; de suite (686) blijft groen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/middleware/site.js

    rffb371c r34e63f0  
    1212import { audioUrl } from '../services/AudioStreamService.js';
    1313import { audioEnabled } from '../config/features.js';
     14import * as Guardianship from '../services/guardianship/index.js';
    1415
    1516/**
     
    3334    res.locals.site = defaultSite;
    3435    res.locals.siteUrlBase = '';
     36    // Mag deze account antwoorden (shaer-r4c)? Eén keer hier, zodat de
     37    // antwoordvelden in de views hem kunnen lezen zonder dat elke route hem
     38    // apart doorgeeft. De server weigert het antwoord toch al in deliverReply;
     39    // dit voorkomt alleen dat een kind tegen een deur duwt die op slot zit.
     40    try {
     41      const isWard = Guardianship.listGuardians(defaultSite.slug).length > 0;
     42      res.locals.mayReply = Guardianship.wardGateAllowed(defaultSite.gate_replies, isWard);
     43    } catch { res.locals.mayReply = true; }
    3544  }
    3645
Note: See TracChangeset for help on using the changeset viewer.