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
  • src/services/ActivityPubService.js

    rc4b24b3 r9c9a3d9  
    34733473      return out.length ? out.slice(0, 8) : undefined;
    34743474    })(),
     3475    // FEP-9098: de custom emoji van het antwoord (":shortcode:" -> plaatje).
     3476    // Zonder deze tags rendert een reply van een Mastodon-account zijn emoji
     3477    // als kale tekst (Barts punt, 8-8). Alleen naam + geschoond icoon-adres
     3478    // gaan door; de rest van de vreemde tag-array blijft achter.
     3479    tag: (() => {
     3480      const j = extractEmojiTags(o.tag);
     3481      if (!j) return undefined;
     3482      const out = JSON.parse(j)
     3483        .map((t) => ({ type: 'Emoji', name: t.name, icon: { type: 'Image', url: safeUrl(t.icon && (t.icon.url || (Array.isArray(t.icon) && t.icon[0] && t.icon[0].url))) } }))
     3484        .filter((t) => t.icon.url)
     3485        .slice(0, 30);
     3486      return out.length ? out : undefined;
     3487    })(),
    34753488    'shaer:author': actorInfo(authors.get(actorUri), actorUri),
    34763489  })).sort((a, b) => String(a.published || '').localeCompare(String(b.published || '')));
Note: See TracChangeset for help on using the changeset viewer.