Varsling: notification-noder i grafen, trigger ved edge-opprettelse/ nevnelse/oppgave. WebSocket toast + ulest-badge + valgfri epost. Universell input: én TipTap-komponent med kontekst-drevne moduser (chat/forum/editor/code). Markup-bytte (WYSIWYG/markdown/LaTeX). Draft-caching i localStorage + valgfri graf-synk for kryssenhets. Integrert medieinput og inline-handlinger (@mentions, [[lenker]]). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Proposal: Varslingssystem
Konsept
Når noe skjer som angår deg — ny samtale, ny melding, ny oppgave, noen nevner deg — får du et varsel. Varsler er noder i grafen, ikke en separat mekanisme.
Varsling som noder
node_kind: 'notification'
metadata: {
type: "added_to_conversation",
actor_id: "vegard-uuid",
target_id: "redaksjonen-uuid",
seen: false
}
belongs_to → din person-node
Fordeler:
- Varsler er søkbare, filtrerbare, arkiverbare
- Samme PG NOTIFY → WebSocket-pipeline som alt annet
- Ingen ny infrastruktur
Trigger-hendelser
| Hendelse | Varsel |
|---|---|
| Lagt til i samtale | "Vegard la deg til i Redaksjonen" |
| Nevnt i melding (@Trond) | "Vegard nevnte deg i Redaksjonen" |
| Ny melding i samtale (valgfritt) | "3 nye meldinger i Redaksjonen" |
| Tildelt oppgave | "Vegard tildelte deg: Fiks lyden" |
| Innsendt artikkel behandlet | "Artikkelen din ble godkjent" |
| Orkestrering fullført | "Transkribering ferdig" |
Leveringskanaler
Samme varsel kan leveres via flere kanaler:
- WebSocket → toast i appen (alltid, sanntid)
- Ulest-badge i Mine ting (alltid)
- Epost (konfigurerbart per bruker i metadata.preferences)
- Lyd-ping (konfigurerbart)
Brukerens preferanser styrer hva som trigger epost vs bare in-app varsel. Default: alt in-app, epost kun for direkte nevnelser og invitasjoner.
Visning
Varsler vises som:
- Klokke-ikon i header med ulest-teller
- Dropdown med siste varsler
- Klikk → naviger til relevant kontekst
- "Marker alle som lest"
Kan også være et panel i arbeidsflaten ("Varsler"-trait) for de som vil ha det synlig.
Ikke-forstyrrende
- Ingen popup-vinduer, ingen blokkerende dialoger
- Toast forsvinner etter 5 sekunder
- Bruker velger selv hva som sender epost
- "Ikke forstyrr"-modus per arbeidsflate
Implementering
notification-node-type i maskinrommet- Trigger-logikk i vaktmesteren (ved edge-opprettelse, melding, etc.)
- Frontend: toast-komponent + varsler-dropdown i header
synops-notifyCLI finnes allerede — utvid med notification-noder- Epost-varsling via eksisterende
synops-mail --send