Mention-Benachrichtigungen #151
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#151
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
Wer neu in einer Seite erwähnt wird, bekommt eine Glocken-Benachrichtigung.
Abhängigkeit: setzt #150 (@-Mentions: Inline-Node, User-Suche, Autocomplete) voraus.
Umsetzungsskizze
mentionedinNOTIFICATION_TYPES(packages/shared/src/notifications.ts).page_mentions (page_id, user_id)(DB-Migration), geschrieben beim Persistieren inapps/collab/src/persistence.tsundapps/api/src/pages/yjs-content.ts(Musterpage_links).apps/api/src/notifications/version-event-listener.service.ts: nur NEU hinzugekommene userIds benachrichtigen (Diff alt/neu — kein Spam bei jedem Save), Actor ausgeschlossen, Zustellung NUR nachcanAccessPage-Recheck (konsistent mitNotificationsService.fanout— Erwähnte ohne Leserecht bekommen nichts, kein Leak).Akzeptanzkriterien
Bewusst nicht enthalten
Mentions in Kommentaren, E-Mail-Integration des neuen Typs.
Umgesetzt in PR #158 (
f9d23bf): Neuer Typ mentioned; Tabelle page_mentions (Migration), beim Collab-Persist transaktional neu geschrieben; nur NEU hinzugekommene Erwaehnungen loesen pg_notify page_mentions_changed aus (kein Spam bei Folge-Saves). Der api-Listener ruft fanoutMentions: Zustellung NUR nach canAccessPage-Recheck, Autoren (pending contributors) nie an sich selbst. Glocken-Text de+en. DB-Test (Leser ja / ohne Leserecht nein / Autor nein); kompletter Loop live verifiziert (Tippen → Persist → Notification beim Erwaehnten).