Changeset 68a4d1b in Klonkt for src/routes/posts.js


Ignore:
Timestamp:
08/06/2026 09:15:46 AM (5 weeks ago)
Author:
Claude (agent) <aiclaude@…>
Branches:
main
Children:
6bc5ebd
Parents:
14f7cb2
git-author:
Robin <roboburr@…> (08/06/2026 09:15:45 AM)
git-committer:
Claude (agent) <aiclaude@…> (08/06/2026 09:15:46 AM)
Message:

De halve schrijfactie kan niet meer (shaer-9e9 fase 3, deel 1)

markLiked, unmarkLiked, markBoosted, unmarkBoosted, setMyReaction,
getMyReactions en getTimelineReaction staan niet langer op het default-object
van ActivityPubService. Routes importeren dat object, dus daarmee is de helft
schrijven vanaf een route onmogelijk geworden in plaats van afgeraden. De named
exports blijven bestaan voor intern gebruik en voor de tests. Een test bewaakt
het oppervlak, want een afspraak in een comment overleeft geen half jaar.

Meteen ook de laatste halve schrijfactie weg, en die was van mijzelf: in de
interact-boost stond nog een kale setMyReaction "zodat de knop klopt voordat de
resolve terug is". Dat is nu setReaction, dus ook dat korte moment schrijft
beide bronnen; de resolve werkt hem daarna bij met de note zodat de post in je
tijdlijn belandt.

De kolommen zijn gedocumenteerd als afgeleide, op de plek waar iemand ze
tegenkomt. Met het onderscheid erbij: ap_timeline.boosted verdient zijn bestaan
als index (Cirkel-WHERE, boostedCount), ap_timeline.liked niet.

WAT IK BEWUST NIET DOE: ap_timeline.liked weggooien. Het plan zegt dat het kan,
en dat klopt, maar zolang die kolom gevuld blijft is terugdraaien een
code-revert en geen dataherstel. Weggooien hoort pas als fase 2 een tijd goed
heeft gestaan -- niet in dezelfde sessie waarin het leespad is omgezet.

Suite 431/431.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/routes/posts.js

    r14f7cb2 r68a4d1b  
    869869      })
    870870      .catch((e) => console.warn('[AP] remote boost failed:', e.message));
    871     // De tussentabel meteen, zodat de knop klopt voordat de resolve terug is.
    872     ActivityPubService.setMyReaction(site.slug, uri, 'boost', on);
     871    // Meteen zetten, zodat de knop klopt voordat de resolve terug is. Via
     872    // setReaction en niet via setMyReaction: ook dit korte moment mag geen
     873    // halve schrijfactie zijn. De resolve hierboven werkt hem daarna bij met de
     874    // note, zodat de post ook in je tijdlijn belandt.
     875    ActivityPubService.setReaction(site.slug, uri, 'boost', on);
    873876  }
    874877  if (req.get('X-Requested-With') === 'fetch') return res.json({ ok: true, on });
Note: See TracChangeset for help on using the changeset viewer.