From c9826e739d99fa89fcdb4677444944949e5dda6f Mon Sep 17 00:00:00 2001 From: pufit Date: Sun, 5 Jul 2026 12:06:21 -0400 Subject: [PATCH] Complete the snooze/expiry notification lifecycle Snooze 24h was a delayed silent decline: the re-delivery tick the code comments promised ('wired in PR 2') never existed, and expiry was a blind status flip that reported to no one. - v037: redeliver_at + redelivery_count columns on notifications - Snooze stamps redeliver_at and pushes expires_at past it; the 15-min maintenance loop (renamed from expiry-only) re-fans-out due rows with a fresh card, capped by notifications.max_redeliveries (default 3) - Expired questions inject an internal note into the asking session (dispatched unconditionally; the per-session lock serializes), expired approvals write an approval-expired audit event; both broadcast notification_expired and edit the Telegram card best-effort - Telegram snooze ack shows 'Snoozed until