From bebb28cfa079054e3baf1061a5d504ea9ceee38f Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:18:53 +0000 Subject: [PATCH] Fix: TORCH dashboard missing active locks created before midnight The TORCH dashboard was filtering events using `since: `, which excluded active locks created on the previous day (e.g., late-night daily locks or weekly locks). This change updates the `since` filter to look back 7 days, ensuring that all potentially active locks (including weekly cadence) are retrieved and displayed. Steps: 1. Modified `views/dev/agent-dashboard.html` to set `since` to `Date.now() - 7 days`. 2. Verified the fix by creating a reproduction script `reproduce_issue.py` (which confirmed the issue) and a verification script `verify_dashboard.py` (which confirmed the fix). 3. Verified the visual output with `verification.png`. Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- verification.png | Bin 20508 -> 0 bytes views/dev/agent-dashboard.html | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 verification.png diff --git a/verification.png b/verification.png deleted file mode 100644 index fc94bbe7385213be608201273252241faf04f315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20508 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 O-8HeiUH!+SXa5KJ<_{kL diff --git a/views/dev/agent-dashboard.html b/views/dev/agent-dashboard.html index 56ae2e90..f09692d2 100644 --- a/views/dev/agent-dashboard.html +++ b/views/dev/agent-dashboard.html @@ -520,13 +520,13 @@ updateConnectionBadge(); // NIP-01 REQ: subscribe to TORCH lock events - // Since today is the start of the window, request from today - const sinceToday = - Math.floor(new Date().setUTCHours(0, 0, 0, 0) / 1000); + // Request from 7 days ago to cover active locks created before midnight + // and recent history for weekly cadence + const since = Math.floor(Date.now() / 1000) - 7 * 24 * 60 * 60; const filter = { kinds: [LOCK_EVENT_KIND], '#t': [HASHTAG], - since: sinceToday, + since: since, }; ws.send(JSON.stringify(['REQ', subId, filter])); });