Commit graph

5 commits

Author SHA1 Message Date
b24f323083 Fix: bevar SpacetimeDB-meldinger ved refresh, stille feil ved 404
- loadFromPg() merger nå PG-data med eksisterende SpacetimeDB-meldinger
  i stedet for å overskrive (hindrer at chatten tømmes)
- onReaction/onTogglePin kaller bare refresh() ved OK-respons
- Fjernet debug-logging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 23:08:21 +01:00
5bc992272d MessageBox: API-utvidelser, reaksjoner og pin-toggle
- GET messages returnerer alle felter + aggregerte reaksjoner via LATERAL join
- Nytt PATCH/DELETE endepunkt for enkeltmeldinger (/api/messages/[id])
- Nye reaksjons-endepunkter (POST/DELETE /api/messages/[id]/reactions)
- refresh() eksponert på ChatConnection (PG + SpacetimeDB)
- MessageBox UI: reaksjonspills med toggle + hurtig-emojis ved hover
- Pin-toggle i header med hover-synlighet
- ChatBlock wirer onReaction og onTogglePin callbacks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 22:42:41 +01:00
e3e3bbc24f MessageBox: universell meldingsboks-komponent for chat, kanban og kalender
Felles MessageData-type (matcher messages-tabellen) med 3 renderingsmodi:
- expanded (chat): forfatter, tid, HTML-body, mention-klikk, badges
- compact (kanban): tittel, trunkert preview, fargestripe
- calendar (pill): tidspunkt, tittel, bakgrunnsfarge

Alle blokker (ChatBlock, KanbanBlock, CalendarBlock) migrert til MessageBox.
PG-adaptere mapper API-respons til MessageData med view-spesifikke felter.
SpacetimeDB-adapter oppdatert for kompatibilitet.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 22:15:36 +01:00
592ebdf1d6 Tiptap-editor og mentions→graf-edges
Ny Editor-komponent med Tiptap (bold, italic, code, mentions).
Chat og notater oppretter nå MENTIONS-edges i kunnskapsgrafen
automatisk ved lagring. SpacetimeDB-adapter skriver alltid via
PG API først for edge-atomisitet. RLS SET LOCAL fix i db.ts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 21:45:34 +01:00
ca27a8077b SvelteKit-app, SpacetimeDB-modul og chat med sanntid
SvelteKit (web/):
- Komplett app-skjelett med Authentik SSO (dev-bypass lokalt)
- Workspace-modell med cookie-basert switching og RLS-kontekst
- Komponerbare sider (PageGrid + BlockShell + block registry)
- Chat med adapter-mønster: PG-polling og SpacetimeDB hybrid-adapter
- Brukeridentitet fra Authentik/dev-login flyter til chat-meldinger
- API-ruter for channels, messages og health

SpacetimeDB (spacetimedb/):
- Rust WASM-modul med ChatMessage og SyncOutbox-tabeller
- send_message reducer med sync outbox for fremtidig PG-persistering
- Genererte TypeScript-bindings for klient-integrasjon

Infra:
- SpacetimeDB lagt til i docker-compose.dev.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 01:40:55 +01:00