corpus

Log | Files | Refs | README | LICENSE

commit 63d4460d28f3fc063102a38d575b282a45a6b1f9
parent e1cefbaee28bae5d3a22745dd10606686269c84b
Author: mtmn <miro@haravara.org>
Date:   Fri, 17 Apr 2026 22:45:46 +0200

chore: update docs

Diffstat:
Mdocs/architecture.md | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/architecture.md b/docs/architecture.md @@ -44,7 +44,7 @@ User configuration is split into two layers: 2. **Environment variables** (runtime, sensitive): shared API keys and S3 credentials are read from the environment at startup and applied to all users. -Each user gets their own `UserContext` with an independent DuckDB connection, sync loop, and `isSyncing` flag. A shared `isSyncing` gate prevents reads during active syncs. +Each user gets their own `UserContext` with an independent DuckDB connection, sync loop, and write lock (`AVar Unit`). The write lock serializes all sync transactions — if a user has both ListenBrainz and Last.fm configured, their transactions are queued rather than run concurrently. HTTP reads do not acquire the lock; DuckDB's MVCC provides consistent snapshots. ## Configuration Reference