Commit graph

4 commits

Author SHA1 Message Date
fa74e255c9 Fiks: SpacetimeDB reducers brukte _workspace_id som ga feil parameternavn i JSON
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 18:00:31 +01:00
af74749bed SpacetimeDB som eneste datakilde: fjern alle PG-kall fra frontend-adapter
Utvider SpacetimeDB-modulen med metadata, edited_at og MessageRevision-tabell.
Worker skriver via reducers (set_ai_processing, ai_update_message) i stedet for
direkte PG-skriving. Frontend-adapteren leser alt fra SpacetimeDB — null fetch()-kall.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 17:38:44 +01:00
8b58d434e9 SpacetimeDB som cache foran PG: arkitekturendring
PG er autoritativ, SpacetimeDB er varm cache. Frontend snakker
kun med SpacetimeDB, worker håndterer toveissynk.

Fase 1 — SpacetimeDB-modul:
- delete_message med SyncOutbox-event
- edit_message reducer
- MessageReaction tabell + add/remove_reaction reducers
- load_messages med JSON-parsing (erstatter pipe-format)
- clear_channel reducer for duplikat-fri warmup
- load_reactions reducer

Fase 2 — Worker:
- warmup.rs: PG→ST oppvarming ved oppstart (100 msg/kanal)
- sync.rs: håndter delete/update/reaction actions
- Sync-intervall redusert til 1s

Fase 3 — Frontend:
- spacetime.svelte.ts: ren SpacetimeDB-adapter, ingen PG-hybrid
- ChatConnection interface med edit/delete/react metoder
- ChatBlock bruker chat.edit/delete/react direkte
- PG-adapter som readonly fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 02:09:33 +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