[object Object]

← back to AbramsOS

feat(digest): suppress zero-deadline days

3a31291e2bf300d72d3faf47b20ece3a54260b94 · 2026-07-07 07:53:10 -0700 · Steve

sendDigest short-circuits when there are no upcoming deadlines, so empty days
don't put a "nothing due" email in the inbox.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 3a31291e2bf300d72d3faf47b20ece3a54260b94
Author: Steve <steve@designerwallcoverings.com>
Date:   Tue Jul 7 07:53:10 2026 -0700

    feat(digest): suppress zero-deadline days
    
    sendDigest short-circuits when there are no upcoming deadlines, so empty days
    don't put a "nothing due" email in the inbox.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 lib/digest.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/digest.js b/lib/digest.js
index 36c3046..e1447be 100644
--- a/lib/digest.js
+++ b/lib/digest.js
@@ -58,6 +58,10 @@ async function buildDigest(userId) {
 
 async function sendDigest(userId) {
   const d = await buildDigest(userId);
+  // Suppress zero-deadline days — no "nothing due" noise in the inbox.
+  if (d.counts.total === 0) {
+    return { sent: false, skipped: 'no deadlines — empty day suppressed', ...d.counts };
+  }
   if (!GEORGE_URL || !GEORGE_BASIC_AUTH || !DIGEST_TO) {
     return { sent: false, skipped: 'george-not-configured (set GEORGE_URL, GEORGE_BASIC_AUTH, DIGEST_TO in .env)', ...d.counts };
   }

← 8cf03df feat(digest): opt-in daily deadline digest email via George  ·  back to AbramsOS  ·  fix(tests): isolate suite to abrams_os_test DB ab337c2 →