Changeset 9c9a3d9 in Klonkt for test/thread.test.js


Ignore:
Timestamp:
08/08/2026 01:23:14 AM (5 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
02c6231
Parents:
c4b24b3
Message:

FEP-9098 emoji ook op de antwoorden in de thread

Barts punt (8-8): de threadroute liet de tag-array vallen, dus een reply
van een Mastodon-account rendert zijn :shortcode:-emoji als kale tekst.
Alleen de echte Emoji-tags gaan nu door -- naam plus geschoond
icoon-adres, gekapt op 30 -- en de rest van de vreemde tags blijft
achter. De byline-emoji zaten er al in via actorInfo.

Test uitgebreid: de emoji komt door, de hashtag en de emoji zonder
bruikbaar icoon niet, en een antwoord zonder emoji draagt geen tag-veld.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • test/thread.test.js

    rc4b24b3 r9c9a3d9  
    4141const antwoorden = [
    4242  reply(1, VREEMDE, '<p>Hoi! <script>alert(1)</script></p>', '2026-08-01T10:00:00Z'),
    43   reply(2, TANTE, '<p>Dag lieverd</p>', '2026-08-01T09:00:00Z'),
     43  { ...reply(2, TANTE, '<p>Dag lieverd :hartje:</p>', '2026-08-01T09:00:00Z'),
     44    // FEP-9098 zoals Mastodon hem stuurt, plus een niet-Emoji-tag en een
     45    // emoji zonder bruikbaar icoon: alleen de echte hoort erdoor te komen.
     46    tag: [
     47      { type: 'Emoji', name: ':hartje:', icon: { type: 'Image', url: 'https://203.0.113.20/emoji/hartje.png' } },
     48      { type: 'Emoji', name: ':kapot:', icon: {} },
     49      { type: 'Hashtag', name: '#muziek' },
     50    ] },
    4451  reply(3, GEBLOKT, '<p>naar bericht</p>', '2026-08-01T11:00:00Z'),
    4552];
     
    7077  assert.equal(uit.hidden, 0);
    7178  assert.ok(uit.notes.every((n) => n.attributedTo !== GEBLOKT));
     79  // FEP-9098: alleen de echte emoji komt door -- niet de hashtag, niet de
     80  // emoji zonder icoon -- en het icoon-adres is geschoond.
     81  const tags = uit.notes[0].tag;
     82  assert.equal(tags.length, 1);
     83  assert.equal(tags[0].name, ':hartje:');
     84  assert.equal(tags[0].icon.url, 'https://203.0.113.20/emoji/hartje.png');
     85  assert.ok(!uit.notes[1].tag, 'een antwoord zonder emoji draagt geen tag-veld');
    7286});
    7387
Note: See TracChangeset for help on using the changeset viewer.