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> |
||
|---|---|---|
| .. | ||
| adapter_moenster.md | ||
| authentik_oidc.md | ||
| README.md | ||
| spacetimedb_integrasjon.md | ||
| svelte5_reaktivitet.md | ||
Erfaringer — Ting vi lærte av å feile
Denne mappen samler praktiske lærdommer fra implementering — ikke hva vi valgte, men hva vi lærte som ikke er åpenbart fra koden eller arkitekturdokumentene.
Formålet er å treffe raskere blink med neste komponent. Hver fil dekker én teknologi eller ett mønster og inneholder konkrete feller, anti-patterns og løsninger vi landet på.
Innhold
| Fil | Tema |
|---|---|
svelte5_reaktivitet.md |
Svelte 5 $state, SSR, reaktivitet gjennom funksjoner |
spacetimedb_integrasjon.md |
SDK-konvensjoner, TypeScript-bindings, BigInt, tilkobling |
adapter_moenster.md |
Adapter/factory for PG↔SpacetimeDB, hybrid-tilnærming |
authentik_oidc.md |
Authentik sub-claim format, @auth/sveltekit JWT-quirks |
Retningslinjer
- Kort og konkret. Maks 1–2 sider per fil. Fellen først, forklaring etter.
- Bare ting som ikke er åpenbare. Ikke dokumenter at
npm installinstallerer pakker. - Oppdater fremfor å legge til. Hvis en erfaring utdypes, oppdater eksisterende fil.
- Kodereferanser. Vis til filer der mønsteret er implementert, så man kan lese koden.