dorfteich/docs
Claude Fable 5 fd4fd60c99
Some checks failed
CI / Lint, typecheck, test (pull_request) Successful in 6m29s
CI / Auth e2e pack (pull_request) Failing after 5s
CI / Import/export fidelity gate (pull_request) Has been skipped
CI / Build container images (pull_request) Successful in 2m55s
#223: dedup window for the read trail
One event per (session, page, channel) within an aligned window of
readTrail.dedupWindowMinutes (default 5): buckets are
floor(epoch / windowSeconds), and a unique (dedup_key, window_bucket)
pair collapses concurrent duplicates race-free at insert time — the
first access in a window is always recorded, a later duplicate lands on
the unique violation and is skipped quietly (a skipped duplicate is not
a gap; only real write failures still abort the read). Each row carries
windowSeconds, so the evidence states it represents a window, never a
request count.

Reconnects within a window stay one event; a new session records again
even for the same user; channels never collapse into each other; the
page-less attachment key uses the documented `-` placeholder. Load
evidence: 30 collab-token renewals inside one window produce exactly one
event (test), bounding a live editing session at ~12 events/hour/page.

Window semantics documented in ADR 0023, the VS-NfD security
documentation (#228) and as a hardening-guide line for the new setting
(care rule: same PR).

Refs #223.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AUtYMxwTCMHG9mVHnwbFg8
2026-07-31 12:13:21 +02:00
..
architecture #223: dedup window for the read trail 2026-07-31 12:13:21 +02:00
de #155: ChordPro-Plugin — Akkordblätter/Leadsheets als Block 2026-07-20 02:11:36 +02:00
developer Doku: Excalidraw als sechstes Standard-Plugin ergänzt 2026-07-19 22:27:17 +02:00
manual #155: ChordPro-Plugin — Akkordblätter/Leadsheets als Block 2026-07-20 02:11:36 +02:00
operations Move the stage directories to /srv/DOCKER (host consolidation) 2026-07-14 12:43:29 +02:00
self-hosting #211: classification through feeds, public API, search and the no-JS shell 2026-07-31 07:23:53 +02:00
vs-nfd #223: dedup window for the read trail 2026-07-31 12:13:21 +02:00
features.md Favorites: personal page stars, golden icons, sidebar filter (#132) 2026-07-16 12:03:55 +02:00