SpacetimeDB er nå helt fjernet fra Synops. Sanntid håndteres av PG LISTEN/NOTIFY + WebSocket i portvokteren (maskinrommet). Kode fjernet: - spacetimedb/ Rust-modul og spacetime.json - maskinrommet/src/stdb.rs (HTTP-klient for STDB-reducers) - frontend module_bindings/ (23 auto-genererte filer) - spacetimedb npm-avhengighet fra package.json - scripts/test-sanntid.sh (testet STDB-flyt) Infrastruktur: - Docker-container stoppet og fjernet fra docker-compose.yml - Caddy: fjernet /spacetime/* reverse proxy - maskinrommet-env.sh: fjernet STDB_IP og SPACETIMEDB_*-variabler - .env.example: fjernet SpacetimeDB-seksjoner Dokumentasjon oppdatert: - CLAUDE.md: stack, lagmodell, kjerneprinsipper, driftsmodell - docs/arkitektur.md: skrivestien, lesestien, datalag, teknologivalg - docs/retninger/datalaget.md: migrasjonshistorikk, status "fjernet" - 37 andre docs oppdatert (features, concepts, infra, ops, retninger) - Alle kode-kommentarer med STDB-referanser oppdatert Verifisert: maskinrommet bygger og starter OK, frontend bygger OK, helsesjekk returnerer 200. Caddy reloadet.
2.4 KiB
2.4 KiB
Feature: Dagbok (Privat journal)
Filsti: docs/features/dagbok.md
1. Konsept
En personlig dagbok-visning som samler brukerens private noder — innhold som ikke er delt med andre via edges. Fungerer som en kronologisk logg over tanker, notater og idéer som kun er synlige for eieren.
2. Status
Implementert med nodes+edges (mars 2026). Sanntid via PG LISTEN/NOTIFY + WebSocket.
Implementert
- Frontend:
/diaryroute med dagbok-visning - Filtrering: viser kun noder som er opprettet av brukeren og ikke har delte edges (ingen non-system edges til andre brukere/noder)
- Ekskluderte node-typer:
communication,agent,person,team - Gruppering etter dato med norske datoetiketter ("I dag", "I går", ellers fullt format)
- Kronologisk sortering (nyeste først)
- Tidsstempel per innlegg
- Inline oppretting av nye dagbokinnlegg (tittel + innhold)
- Nye innlegg får
visibility: 'hidden'ogowner-edge fra bruker - Dagbok-lenke med tellebadge i mottak-siden
- Responsivt design (max-w-3xl, mobilklar)
Gjenstår
- Redigeringsmodus for eksisterende innlegg
- Rik tekst-editor (gjenbruk NodeEditor-komponenten)
- Sletting av innlegg
- Søk/filtrering i dagboken
- Eksport-funksjon
3. Datamodell
Dagboken bruker ingen egne tabeller eller edge-typer. Den er en visning (query) over eksisterende noder og edges.
Hva er et dagbokinnlegg?
En node som oppfyller alle tre kriterier:
created_by = <brukerens node-ID>node_kinder ikkecommunication,agent,personellerteam- Ingen non-system edges der den andre enden er en annen bruker/node
(kun
owner-edge fra bruker, system-edges, og selv-refererende edges er tillatt)
Oppretting
POST /intentions/create_node
{ node_kind: "content", title: "...", content: "...", visibility: "hidden" }
POST /intentions/create_edge
{ source_id: <bruker>, target_id: <ny_node>, edge_type: "owner" }
4. Frontend
Route
/diary → frontend/src/routes/diary/+page.svelte
Datakilde
WebSocket-sanntidsdata via nodeStore og edgeStore.
Ingen backend-query — all filtrering skjer i frontend basert på
data mottatt via initial sync + WebSocket.
UI-struktur
- Header med tilbake-lenke til mottak og innlegg-teller
- Ny-innlegg-knapp (utvides til skjema med tittel + tekstfelt)
- Innlegg gruppert per dato, sortert nyeste først
- Hvert innlegg viser tidsstempel, tittel, og innholdsutdrag