Ignore:
Timestamp:
08/07/2026 01:56:58 PM (5 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
ee78e03
Parents:
fb9a8ad (diff), a29c8c8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
proef <proef@…> (08/07/2026 01:54:50 PM)
git-committer:
Robin <roboburr@…> (08/07/2026 01:56:58 PM)
Message:

Geen inline scripts meer in de pagina's (shaer-bqr)

De CSP staat op default-src 'none' met strict-dynamic en een nonce per
verzoek. Bij een htmx-navigatie komt er nieuwe inhoud binnen zonder nieuwe
nonce, dus een inline script in geswapte inhoud werd geweigerd -- zichtbaar
als een geblokkeerde reply-editor op /messages.

Alle 24 pagina's en partials gaan nu naar een module onder assets/js/mod/.
Een bootstrap in de shell leest data-js van de body en importeert wat daar
staat, ook opnieuw na elke pagInawissel. Servergegevens gaan mee via
partials/page-data.ejs, een script met type application/json: dat wordt niet
uitgevoerd en niet opgehaald, dus script-src heeft er niets over te zeggen.

lib.js heeft esc(), omdat de modules op plekken HTML met stringplakwerk
bouwen waar de escapende EJS-tag vroeger het werk deed.

embed-player.ejs houdt zijn inline script: eigen render, eigen CSP, altijd
een volledige laadbeurt.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    rfb9a8ad r7cfe35a  
    21742174    // Requires our own base prefix on the tag href — /ap/users/<slug> on a REMOTE host is
    21752175    // someone else's actor, not ours.
     2176    // Een markering op een hulpvraag (shaer-lgo): een mede-guardian laat weten
     2177    // dat hij ernaar kijkt, of dat het is afgehandeld. Gewone directe note met
     2178    // een shaer:-markering, net als de zwaai -- dus die komt hier langs. VOOR de
     2179    // mention-opslag, want dit is staat en geen bericht om te bewaren; de ward
     2180    // krijgt hem wel als bericht te lezen, en dat gebeurt hieronder.
     2181    if (actorUri && !isLocalActor) {
     2182      const mark = Guardianship.help.parseMarker(o);
     2183      if (mark) {
     2184        const ai = actorInfo(await resolveActor(actorUri).catch(() => null), actorUri);
     2185        Guardianship.help.record(mark.noteUri, actorUri, mark.kind, ai && ai.handle);
     2186        console.log('[AP] help', mark.kind, actorUri, '→', mark.noteUri);
     2187      }
     2188    }
    21762189    if (actorUri && !isLocalActor && o.id) {
    21772190      const slugs = localMentionSlugs(o.tag, base);
Note: See TracChangeset for help on using the changeset viewer.