Commit Graph
3 Commits
Author SHA1 Message Date
clawbot 71762d72d9 Name each database target's archive for its webhook and target (closes #376)
check / check (push) Successful in 3m16s
Each database target now has its own archive file,
archive-WEBHOOKNAME-TARGETNAME-TARGETID.db, instead of one
archive-WEBHOOKID.db per webhook. delivery.ArchiveFileName builds the
name.

A change of webhook or target name renames its archive files under the
archive writer's lock, before the new name is saved, and back again if
the save fails. Webhook edits, target edits and target creation run one
at a time, so no two of them interleave. A rename never replaces a
file, and one that fails part way moves back what it moved. Deleting a
target evicts only that target's writer. Archive files are never
deleted, and nothing looks for files under the old name.

Model: opus-5-5
2026-10-02 10:47:27 +00:00
clawbot 2ee720a9af Bound shutdown hooks by their stop context (closes #102)
check / check (push) Successful in 3m49s
2026-08-14 06:18:33 +02:00
clawbot 3e261d2f01 Evict archive writers on deletion and sweep idle archives (closes #89) (#95)
check / check (push) Superseded by a newer commit; never tested
Per-webhook archive writers are now evicted when the webhook or its last
database target is deleted, and a background sweeper prunes expired rows from
idle archives that no longer receive writes. Archive files themselves are never
deleted.
2026-08-10 15:52:20 +02:00