From e24a340750fcdacff3d665ef4da78df43b58818f Mon Sep 17 00:00:00 2001 From: mmattbtw Date: Tue, 11 Aug 2026 17:08:38 -0500 Subject: [PATCH] docs(todo): record retry replay coordination --- todo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/todo.md b/todo.md index 48891be..5f3b8d8 100644 --- a/todo.md +++ b/todo.md @@ -30,7 +30,7 @@ Last synced with GitHub and Linear issues: 2026-06-14. - Notification context refinement (2026-07-16): Amethyst notifications now group same-post likes/reposts, stack linked actor avatars, use compact relative timestamps, and load the referenced post text plus track preview; follow and badge activity remain lightweight rows. - Playlist track lookup (2026-07-16): playlist editors can search their own indexed listening history or MusicBrainz and add matching tracks directly to a playlist. - Manual album listening entry (2026-07-18): Amethyst now has a protected `/manual-listens` page in the desktop/mobile navigation, MusicBrainz release and track selection, duration-aware timestamp previews, atomic `applyWrites` submission, and a fresh-origin logged-out redirect. The hero copy is kept focused on the album action without the extra listening-record label, and timestamp choices explain their effect using plain language and local-time guidance. Cadet now persists failed play events in a Postgres retry queue with exponential backoff and dead-letter tracking. TypeScript, Amethyst tests, Biome, and the web export pass; authenticated preview QA remains. -- Manual-listen review fixes (2026-08-11): Cadet retry jobs now collapse by logical record, preserve commit ordering, reset attempts when newer revisions replace queued retries, recheck account activity, and conditionally complete stale jobs; duplicate-CID retries repair artist links and aggregates, and reverse timeline backfills use the preceding track duration. Focused Rust, TypeScript, Biome, and migration checks pass. +- Manual-listen review fixes (2026-08-11): Cadet retry jobs now collapse by logical record, preserve commit ordering, serialize replay with live record commits, reset attempts when newer revisions replace queued retries, recheck account activity, and conditionally complete stale jobs; duplicate-CID retries repair artist links and aggregates, and reverse timeline backfills use the preceding track duration. Focused Rust, TypeScript, Biome, and migration checks pass. - Cadet account/retry race fix (2026-08-11): account lifecycle state updates and purges now share a per-DID transaction advisory lock with the final play write, which rechecks account activity atomically before committing replayed data. Added an inactive-account replay regression test. ## Local Open Work -- knotmirror 0.0.1