Changeset 4838760 in Klonkt for src/config/database.js


Ignore:
Timestamp:
08/08/2026 05:23:46 PM (4 weeks ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
d1075a1
Parents:
abcf51a
Message:

De kaart op je eigen post, en de composer-preview (shaer-k3f)

Het bead-uitgangspunt "serverkant is klaar" bleek half waar: AP-quotes
kregen bij publiceren een quote_uri, maar eigen posts hadden geen kolom
voor een kaart-snapshot en de outbox serveerde geen shaer:quote of
shaer:embed -- de app kon een eigen post dus nooit als kaart tonen, ook
na publicatie niet.

Drie stukken, allemaal langs de pijplijn die er al was:

OPSLAAN deliverCreate resolvet de eerste externe link net als de

inbox dat voor binnenkomende posts doet: een fediverse-
object wordt een quote-snapshot (resolveQuoteByUri, de kern
van resolveQuote maar vanaf een kale URI), anders probeert
de link een externe kaart (resolveExternalEmbed). In
posts.quote_json/embed_json, VOOR de vroege return: ook een
post zonder volgers hoort zijn kaart te krijgen, de app
leest hem uit de outbox en niet uit een bezorging.

SERVEREN de friend-poot van de outbox draagt shaer:quote en -- alleen

voor de bearer en langs zijn eigen embeds-poort --
shaer:embed. Een remote vriend krijgt de embed niet: diens
server resolvet en gate zelf bij ontvangst.

PREVIEW GET /ap/users/:slug/card?url= (bearer-only): een URL langs

exact dezelfde pijplijn, zodat de preview in de composer
nooit iets belooft dat de post niet waarmaakt. Zelfde
gate-regels als de tijdlijn.

Drie tests met gestubde fetch: extern -> embed-snapshot, fediverse ->
quote-snapshot (en niet allebei), en de preview die voor dezelfde links
dezelfde kaarten geeft. Alle 723 groen.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config/database.js

    rabcf51a r4838760  
    718718  // time so buildNote (sync, also used by the outbox) needs no network.
    719719  ensureColumn('posts', 'quote_uri', 'TEXT');     // the quoted object's id
     720  // De kaart op je EIGEN post (shaer-k3f): dezelfde snapshots die ap_timeline
     721  // voor binnenkomende posts draagt, maar dan voor wat je zelf publiceert --
     722  // zonder deze twee kan de app een eigen post nooit als kaart tonen.
     723  ensureColumn('posts', 'quote_json', 'TEXT');    // FEP-044f resolved quote snapshot
     724  ensureColumn('posts', 'embed_json', 'TEXT');    // externe linkkaart (oEmbed/OG), thumbnail-only
    720725  ensureColumn('posts', 'quote_actor', 'TEXT');   // its author, so we can address them
    721726  ensureColumn('ap_timeline', 'embed_json', 'TEXT');       // resolved EXTERNAL embed (oEmbed/provider), thumbnail-only; gated per site (sites.external_embeds)
Note: See TracChangeset for help on using the changeset viewer.