Changeset 31288dc in Klonkt for src/server.js


Ignore:
Timestamp:
10/26/2026 01:18:33 PM (27 hours ago)
Author:
Robin <roboburr@…>
Branches:
main
Children:
bfa3ba3
Parents:
4ae254a
Message:

Wakker worden: aankondigen en inhalen na echte afwezigheid

De wakker-helft van shaer-xzab (xzab.4 en .5), zoals Bart hem ontwierp: één
routine met twee helften, en wakker worden herkend aan een sprong in de
wandklok tussen twee ticks of aan het opstarten na lang uit -- niet aan elke
herstart, want npm herstart Klonkt bij elke opgeslagen wijziging.

services/wake.js. Het laatste teken van leven staat elke minuut in
app_settings (last_alive_at), zodat het een herstart overleeft. Meer dan een
half uur stilte is een terugkomst; dan:

.5 AANKONDIGEN: per site een actor-Update naar de gedeelde inboxes van de
volgers (deliverActorUpdate). Uit xzab.6: een binnenkomende POST is wat
Mastodon, Akkoma en Misskey weer naar ons laat bezorgen, en wat bij Pleroma
de controle van onze / start. Een half uur en niet langer, omdat Pleroma ons
al na één uitgeputte bezorging afschrijft.

.4 INHALEN: de outboxes van wie je volgt (alleen geaccepteerd), ondertekend,
vanaf het wegvallen. backfillFromOutbox kreeg daarvoor since; een post
zonder datum telt dan niet mee. Niet verder terug dan een week, hoogstens 40
posts per account en 200 accounts per site, na elkaar met een adempauze,
zodat een week weg geen storm wordt.

Eerst aankondigen, dan inhalen: dan bezorgen de anderen alweer terwijl wij
nog lezen. Een site die niet lukt, houdt de rest niet op.

test/wake.test.js: negen toetsen, het inhalen tegen een echte outbox op
127.0.0.1. Elf mutaties apart gedraaid, elk gevangen. Volledige suite 1371
groen.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/server.js

    r4ae254a r31288dc  
    7070import oauthRoutes from './routes/oauth.js';
    7171import { apWants, startDeliveryWorker, selfHealTimeline, migrateReactions } from './services/ActivityPubService.js';
     72import { startWakeWatch } from './services/wake.js';
    7273
    7374// SESSION_SECRET: use the env var if set. Otherwise auto-generate a strong one
    … …  
    210211startScheduler(); // release planning: publish scheduled posts when publish_at is reached
    211212startDeliveryWorker(); // retry failed fediverse deliveries with backoff
     213// Wakker worden na echte afwezigheid (shaer-xzab.4/.5): aankondigen en inhalen.
     214// Niet bij een gewone herstart; zie services/wake.js.
     215startWakeWatch();
    212216// Once per REACTIONS_MIGRATION_VERSION bump: reacties naar de tussentabel, onder
    213217// de canonieke object-URI. Moet VOOR het serveren, want vanaf nu leest de code
Note: See TracChangeset for help on using the changeset viewer.