Ignore:
Timestamp:
08/08/2026 05:41:58 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
3a0ca0f
Parents:
4838760
Message:

Eerst bakken, dan linken zoeken -- en de verloren kolomselectie terug

Twee vondsten van het toestel (shaer-k3f, vervolg op 4838760):

EERST BAKKEN. firstExternalUrl leest <a href>-ankers, en de web-editor
bakt die er bij het opslaan al in -- maar een post uit de APP is platte
tekst waarin de URL nog geen anker is. Het C2S-pad zag dus nooit een
link en een app-post kreeg nooit een kaart, terwijl de preview hem net
wel beloofd had. deliverCreate bakt de inhoud nu voor het zoeken; de
test dekt voortaan het app-geval (platte tekst) in plaats van het
editor-geval.

DE VERLOREN SELECTIE. De kolomtoevoeging aan de outbox-query is bij het
invlechten van parallel werk verloren gegaan: de friend-poot vroeg
row.embed_json aan rijen waar de query hem nooit in had gestopt. Een
diagnoseregel op dev wees het exact aan (rij gevonden, poort open,
embed: false). De query draagt quote_json en embed_json nu echt, en de
route is weer schoon.

Op het toestel bewezen: preview in de composer, posten, en de eigen
feedkaart draagt de kaart. Alle 723 groen.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    r4838760 rd1075a1  
    29492949  // IS the notification.
    29502950  const quoteInboxes = [];
     2951  // EERST BAKKEN, dan pas linken zoeken (shaer-k3f, gevonden op het toestel):
     2952  // firstExternalUrl leest <a href>-ankers, en de web-editor bakt die er bij
     2953  // het opslaan al in -- maar een post uit de APP is platte tekst waarin de
     2954  // URL nog geen anker is. Zonder deze bak zag het C2S-pad dus nooit een link
     2955  // en kreeg een app-post nooit een kaart, terwijl de preview hem net wel
     2956  // beloofd had.
     2957  const gebakken = bakePostContent(post2.content || '');
    29512958  if (post2.quote_uri === undefined || post2.quote_uri === null) {
    2952     const q = await resolveOwnQuote(post2.content || '');
     2959    const q = await resolveOwnQuote(gebakken);
    29532960    if (q) {
    29542961      try { db.prepare('UPDATE posts SET quote_uri = ?, quote_actor = ? WHERE id = ?').run(q.uri, q.actor || null, post.id); } catch { /* ignore */ }
     
    29682975        if (qj) { db.prepare('UPDATE posts SET quote_json = ? WHERE id = ?').run(qj, post.id); post2 = { ...post2, quote_json: qj }; }
    29692976      } else {
    2970         const ej = await resolveExternalEmbed(post2.content || '');
     2977        const ej = await resolveExternalEmbed(gebakken);
    29712978        if (ej) { db.prepare('UPDATE posts SET embed_json = ? WHERE id = ?').run(ej, post.id); post2 = { ...post2, embed_json: ej }; }
    29722979      }
Note: See TracChangeset for help on using the changeset viewer.