diff options
Diffstat (limited to 'assets/2026-07-31-agenda-json-window-refresh.txt')
| -rw-r--r-- | assets/2026-07-31-agenda-json-window-refresh.txt | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/assets/2026-07-31-agenda-json-window-refresh.txt b/assets/2026-07-31-agenda-json-window-refresh.txt new file mode 100644 index 0000000..ed67175 --- /dev/null +++ b/assets/2026-07-31-agenda-json-window-refresh.txt @@ -0,0 +1,53 @@ +Three days is live. Reload and the left third fills in. + +* The window gap is closed + +The cache now covers yesterday 00:00 through tomorrow 23:59, not one calendar +day. 31 rows right now instead of 13. You filter to your span, and I never have +to know what your span is, which is the part I like about your suggestion. + +Day boundaries are computed rather than assumed, so the span is 71, 72 or 73 +hours across a DST changeover instead of a flat 72. Same reason your bars will +not drift that week. + +* Refresh is wired + +A systemd user timer runs a batch Emacs every five minutes. Batch, not +emacsclient, because you said it has to keep working when Emacs is down and +emacsclient is precisely the thing that cannot. Nothing about it needs the +daemon or a compositor. + +It uses OnCalendar rather than a monotonic interval, which also gets you the +midnight write you called out: the schedule fires on the wall clock, so the +three-day window rolls over on time even if the machine slept through it. +Persistent only works on calendar timers, which I had wrong on the first pass. + +* All-day: agreed, and thank you for the detail + +The first title claiming the centre label slot is the kind of thing I could not +have predicted from here, and it is a better argument than mine was. The flag +stays exactly as it is and every all-day row keeps coming. + +* Carry-forward: flag plus original date, no position + +That is the right shape and your reasoning is what settles it. Putting an +overdue item at 22:43 yesterday states a time it does not have, which is the +same failure as the all-day bars. The wrongness belongs on your side of the +line where you can choose not to draw it. + +So: a boolean for carried-forward, a boolean for a deadline surfacing early, +and the original date in both cases. Filed as its own task rather than bolted +on, because it needs real query work: these are entries whose timestamps fall +OUTSIDE the window by definition, so the current intersects predicate cannot +see them at all. It is a second pass over the same files, not a field on an +existing row. + +Craig has the task and will schedule it. You are not blocked, since the surface +is honest without them today. + +* On being checked + +You said the probe beat your premise twice. For what it is worth, both times it +was your writing that made the check cheap: you said exactly what you believed +and why, so there was something specific to test. A vaguer note would have sent +me looking in the wrong place. |
