Changeset 971d00b in Klonkt for src/services/ActivityPubService.js
- Timestamp:
- 08/06/2026 06:48:32 AM (5 weeks ago)
- Branches:
- main
- Children:
- 99a7b40
- Parents:
- 39111c0
- git-author:
- Robin <roboburr@…> (08/06/2026 06:48:31 AM)
- git-committer:
- Claude (agent) <aiclaude@…> (08/06/2026 06:48:32 AM)
- File:
-
- 1 edited
-
src/services/ActivityPubService.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ActivityPubService.js
r39111c0 r971d00b 627 627 // outboxId), sorted as one stream. Consecutive likes/boosts on the same post collapse into 628 628 // one grouped item (actors list + count) so activity doesn't drown out conversations. 629 /** ap_outbox.attachments ([{url, mediaType, name}]) naar de vorm die note-body 630 * leest (media_json: [{url, type, name}]). Geeft null bij niets of rommel, 631 * zodat een kapotte kolom hooguit media kost en niet de hele regel. */ 632 function outboxMediaJson(attachments) { 633 if (!attachments) return null; 634 try { 635 const list = JSON.parse(attachments); 636 if (!Array.isArray(list) || !list.length) return null; 637 const media = list 638 .filter((a) => a && a.url) 639 .map((a) => ({ url: a.url, type: a.mediaType || a.type || '', name: a.name || undefined })); 640 return media.length ? JSON.stringify(media) : null; 641 } catch { return null; } 642 } 643 629 644 export function getMessages(slug, limit, offset) { 630 645 const off = Math.max(0, offset || 0); … … 641 656 in_reply_to: m.in_reply_to, post_slug: m.post_slug, content: m.content, 642 657 editable: m.editable, language: m.language, created_at: m.created_at, 658 // Je eigen bericht hoort er hetzelfde uit te zien als dat van een ander: 659 // note-body rendert Berichten, de Krant en de Guardian-PWA, maar leest 660 // media uit media_json met een `type`, terwijl ap_outbox ze als 661 // `attachments` met een `mediaType` bewaart. Zonder deze vertaling kwam 662 // een foto die JIJ meestuurde als kale tekst binnen. 663 media_json: outboxMediaJson(m.attachments), 643 664 }); 644 665 } … … 3020 3041 // gaat staan (zie threadKey). Zonder die kolom viel een uitwisseling uit 3021 3042 // elkaar in "Verzonden" en "Gesprekken". 3022 return db.prepare('SELECT id, content, to_handle, to_actor, to_actors, post_slug, in_reply_to, language, created_at FROM ap_outbox WHERE site_slug = ? ORDER BY created_at DESC')3043 return db.prepare('SELECT id, content, to_handle, to_actor, to_actors, post_slug, in_reply_to, attachments, language, created_at FROM ap_outbox WHERE site_slug = ? ORDER BY created_at DESC') 3023 3044 .all(siteSlug).map((r) => { const c = stripLeadingMentions(r.content); return { ...r, content: c, editable: outboxEditableText(c) }; }); 3024 3045 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)