Changeset 04aca12 in Klonkt


Ignore:
Timestamp:
08/06/2026 12:43:34 AM (5 weeks ago)
Author:
Claude (agent) <aiclaude@…>
Branches:
main
Children:
7875a80
Parents:
fa33214
git-author:
Robin <roboburr@…> (08/06/2026 12:40:15 AM)
git-committer:
Claude (agent) <aiclaude@…> (08/06/2026 12:43:34 AM)
Message:

C2S Like landde niet in ap_timeline, dus shaer:liked bleef altijd false

Een Like uit een app werd wel opgeslagen (setMyReaction, waar de webroute uit
leest), maar zette ap_timeline.liked niet -- en dat is nu juist de kolom die de
C2S-tijdlijn als shaer:liked teruggeeft. markLiked bestond al, maar werd alleen
vanuit de webroute aangeroepen, nooit vanuit ingestOutboxActivity.

Gevolg in Shaer: het hartje verscheen bij het aantikken en sprong bij de eerste
herlaadbeurt weer uit. Erger is wat daaruit volgde -- omdat de client nooit
liked:true terugkreeg, bood hij altijd "Like" aan en stuurde bij elke tik een
nieuwe Like. Un-liken kon vanuit de app dus helemaal niet.

De Like-tak roept nu markLiked aan en Undo(Like) roept unmarkLiked, allebei op
dezelfde objUri als de Announce-tegenhanger gebruikt. Anders dan bij een boost
geen upsert: een like hoort een post niet in je tijdlijn te trekken, dus staat
de post er niet in, dan is dit terecht een no-op.

Gevonden door een Like vanuit Shaer op Waydroid en daarna de app te herstarten:
de boost overleefde dat wel, het hartje niet.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/ActivityPubService.js

    rfa33214 r04aca12  
    24822482        setMyReaction(site.slug, targetUri, kind, true);
    24832483        if (type === 'Announce' && note) { try { upsertBoostedNote(site.slug, note); } catch { /* non-fatal */ } }
     2484        // Een Like uit een app moet ook in ap_timeline.liked landen, want dat
     2485        // is wat de C2S-tijdlijn als shaer:liked teruggeeft. Zonder dit werd
     2486        // de reactie wel opgeslagen (setMyReaction, de webroute leest die),
     2487        // maar kreeg de app altijd liked:false terug: het hartje sprong bij de
     2488        // eerste herlaadbeurt uit, en un-liken kon niet meer -- de app bood
     2489        // alleen nog "Like" aan en stuurde bij elke tik een nieuwe Like.
     2490        // Anders dan bij een boost geen upsert: een like hoort een post niet
     2491        // in je tijdlijn te trekken, dus staat de post er niet in, dan is dit
     2492        // terecht een no-op.
     2493        if (type === 'Like') { try { markLiked(site.slug, objUri); } catch { /* non-fatal */ } }
    24842494        return { status: 202, url: objUri };
    24852495      }
     
    25322542          setMyReaction(site.slug, innerTarget, innerType === 'Announce' ? 'boost' : 'like', false);
    25332543          if (innerType === 'Announce') { try { unmarkBoosted(site.slug, objUri); } catch { /* non-fatal */ } }
     2544          if (innerType === 'Like') { try { unmarkLiked(site.slug, objUri); } catch { /* non-fatal */ } }
    25342545          return { status: 202, url: objUri };
    25352546        }
Note: See TracChangeset for help on using the changeset viewer.