Changeset e64a49b in Klonkt for src/routes/posts.js


Ignore:
Timestamp:
08/07/2026 12:24:02 PM (5 weeks ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
0db68bd
Parents:
20ae7b0
git-author:
Robin <roboburr@…> (08/07/2026 12:24:00 PM)
git-committer:
roboburr <roboburr@…> (08/07/2026 12:24:02 PM)
Message:

Berichten uit inline script naar een module (shaer-bqr, stap 2)

De enige bevestigde stukke plek. Kwam je hier via een link BINNEN de site, dan
arriveerde het script via htmx met een nonce die het document niet kent, en
weigerde de CSP het (shaer-0i6). Chips, zoeken en het in-/uitklappen deden dan
niets, en de reply-editor laadde niet -- dat was Barts melding.

Een pagina vraagt nu om zijn module met pageJs; de shell zet dat op body[data-js]
en de bootstrap importeert het. De waarde wordt een PAD, dus hij gaat door
/[a-z0-9 -]*$/ voordat hij de locals in mag.

TWEE DINGEN MOESTEN VERANDEREN, en niet omdat de code fout was: een module leeft
anders dan een inline script.

NIETS VASTHOUDEN het inline script pakte .msg-list, #msg-q en .msg-nomatch

een keer bij het inladen. Een module wordt per document maar
EEN keer geimporteerd, dus wie Berichten verlaat en
terugkomt houdt verwijzingen over naar elementen die er niet
meer zijn. Nu per keer opzoeken, en de invoerluisteraar
gedelegeerd in plaats van op het veld zelf.

OPNIEUW INDEXEREN bij binnenkomst op de pagina, niet alleen bij "meer laden".

Anders is de lijst na een navigatie niet geindexeerd en
filtert het zoeken op een lege verzameling.

Dat eerste is precies de val waar de chrome-partials al een comment over hebben
staan ("a once-captured reference goes stale"), en het geldt hier dubbel omdat
een module niet opnieuw draait.

Templates compileren, suite 556/556.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/posts.js

    r20ae7b0 re64a49b  
    936936    : []).filter((o) => o['shaer:ward'] === gMe && o['shaer:needsMyAccept']);
    937937  renderPage(req, res, 'pages/messages', {
    938     pageTitleKey: 'msg.title', bodyClass: 'on-special', items, seenAt,
     938    pageTitleKey: 'msg.title', bodyClass: 'on-special', pageJs: 'messages', items, seenAt,
    939939    hasMore, nextOffset: offset + FEED_PAGE, moreBase, guardianOffers,
    940940    success: req.query.success || null, error: req.query.error || null,
Note: See TracChangeset for help on using the changeset viewer.