Feature: web push slice 3, real triggers from the S2S inbox
The owner now gets a push when something actually happens: new follower,
reply on a post, mention, like, boost, or a private message. All four
trigger points sit right after the existing inbox writes and are
fire-and-forget (pushEvent catches everything): a notification can never
block or break federation processing.
Privacy rule from the design doc: private (followers/direct) replies and
mentions push as a plain "Nieuw bericht van X" WITHOUT the message text,
so the browser push service never carries private content. Public replies
and mentions carry a short plain-text snippet; likes/boosts carry the post
title. URLs are hub-aware (/user/<slug> prefix when tenancy is hub).
Per-type preferences from slice 2 are honoured by notifySite (follow/reply
/dm on by default, like/boost off).
Changed files:
src/services/ActivityPubService.js
- pushEvent/pushPrefix/pushPostCtx helpers above handleInbox
- Follow: "Nieuwe volger" → /connect
- reply: public snippet → post#fediverse; private → dm ping → /messages
- mention: same split, "Vermelding" → /messages
- Like/Announce: "Nieuwe waardering"/"Geboost" with the post title
-robo
Co-Authored-By: Claude Opus 4.8 <noreply@…>