From 75beeb556188e06a139e0a006b44a27671763907 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 24 Jun 2026 23:15:05 -0400 Subject: chore(todo): file calendar-sync declined-occurrence bug (from chime handoff) --- todo.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.org b/todo.org index 6c909e997..cf3ce63ab 100644 --- a/todo.org +++ b/todo.org @@ -61,6 +61,8 @@ The first =f12= of a session flashes the terminal open and immediately closes it While the org-capture popup is open, the global F-keys (the =f12= term, =f10= / =f11=, the ai-term family) still fire and pop a terminal over the capture. Disable those keys for the duration of the capture popup if there's a clean way. Research first and report; if it's too invasive, defer or cancel rather than force it. From the roam inbox 2026-06-24. ** TODO [#C] dirvish image previews missing in the pictures dir :bug: Dirvish (the =super + f= file manager) shows no image preview when browsing =~/Pictures=, so picking a wallpaper is blind. The preview pane is empty for image files where a thumbnail should render. Want image rendering in the dirvish preview pane for image directories. From the roam inbox 2026-06-24. +** TODO [#B] calendar-sync: a declined single occurrence keeps :STATUS: accepted :bug:solo: +A recurring event declined for just one occurrence still syncs out with =:STATUS: accepted=, so chime faithfully shows it. Root cause (diagnosed by a chime session, handed off 2026-06-24): =calendar-sync--apply-single-exception= (=calendar-sync.el:525=) merges the override's =:attendees= but never re-derives =:status= from them, so the occurrence keeps the series master's accepted status; =calendar-sync--filter-declined= (=calendar-sync.el:765=) keys off =:status= and so doesn't drop it. Fix (TDD): in =apply-single-exception=, when overriding =:attendees=, re-derive =:status= via =calendar-sync--find-user-status= against =calendar-sync-user-emails=. Test cases: (1) a declined single occurrence of an accepted series gets =:status= "declined"; (2) an override with no attendee block leaves the inherited status intact; (3) an accepted override stays accepted. Model on =tests/test-integration-calendar-sync-recurrence-exceptions.el=. Verify: a re-sync drops the 2026-06-24 Arusyak occurrence from =gcal.org= / =pcal.org= (or marks it =:STATUS: declined=). ** PROJECT [#A] Manual testing and validation Exercised once the phases above land. *** TODO theme-studio preview-locate discoverability read -- cgit v1.2.3