- Timestamp:
- 08/27/2026 07:53:10 AM (13 days ago)
- Branches:
- main
- Children:
- 9041d35
- Parents:
- 76290bf
- File:
-
- 1 edited
-
src/services/ap-c2s.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ap-c2s.js
r76290bf r0d6d266 201 201 } : null) 202 202 .filter(Boolean); 203 // DE MENTIONS VAN DE CLIENT (Robins melding, 26-8). Zonder deze 204 // regel kreeg deliverReply `mentions: undefined`, en dat betekent 205 // daar "oud gedrag: noem alleen de auteur van de ouder". Een client 206 // die er drie stuurde zag er dus een gepubliceerd worden -- niet 207 // door een filter, maar doordat de andere twee hier nooit aankwamen. 208 // 209 // De tags zijn de bron, niet `to`/`cc`: die dragen ook de 210 // volgerscollectie en Public, en dat zijn geen mensen. `href` is de 211 // actor, `name` de handle zoals de client hem spelt. 212 // 213 // Ontdubbeld op actor, want de ouder-auteur zit meestal ook in de 214 // tags en zou anders twee keer vooraan komen te staan. 215 // 216 // GEEN tags meegestuurd blijft undefined en dus het oude gedrag. Een 217 // LEGE lijst kan niet: dat betekent in deliverReply "niemand noemen", 218 // en dat is een keuze die een client die geen tags kent nooit maakte. 219 const gezien = new Set(); 220 const mentions = (Array.isArray(object.tag) ? object.tag : (object.tag ? [object.tag] : [])) 221 .filter((t) => t && t.type === 'Mention' && typeof t.href === 'string' && /^https?:\/\//i.test(t.href)) 222 .filter((t) => !gezien.has(t.href) && gezien.add(t.href)) 223 .map((t) => ({ uri: t.href, url: t.href, handle: typeof t.name === 'string' ? t.name : undefined })); 203 224 // Honour the client's visibility for the reply: 'friends' (followers- 204 225 // only, the Shaer detail-view Reply) drops Public; anything else stays … … 208 229 html: object.content || null, attachments: atts, 209 230 language: object.language || null, visibility: c2sVisibility(object), 231 mentions: mentions.length ? mentions : undefined, 210 232 }); 211 233 if (!r || !r.id) return { status: 502, error: 'reply_failed' };
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)