Something went wrong. Try again.
rss email digests over ssh because you're a cool kid herald.dunkirk.sh
go rss rss-reader ssh charm
Something went wrong. Try again.
fix: resolve database deadlock in sendDigestAndMarkSeen master
- Root cause: RecordEmailSend() called while transaction tx was open - With SetMaxOpenConns(1), this caused self-deadlock (same goroutine trying to acquire connection it already holds) - Solution: Added GenerateTrackingToken() and RecordEmailSendTx(tx) that accepts transaction parameter - Generate token before transaction, record within transaction - Removed debug logging from email/send.go (no longer needed) The hang occurred at scheduler/scheduler.go:412 where RecordEmailSend tried to use db.Exec() while the transaction had the only connection locked. SQLite's busy_timeout doesn't help with self-deadlock because it's the same connection context.
Author Kieran Klukas Date (Jan 10, 2026, 7:32 AM UTC) Commit 72d4a4e8 72d4a4e8a8238e2c2a20272f422cf83c53bd59c2 Parent ad56e000 ad56e000ca6c22ed04fb6955e33b386d646aaaf0