From f411b7c825d7332cd1da71e0285c7aafa87a0eac Mon Sep 17 00:00:00 2001 From: Daneel Date: Wed, 25 Feb 2026 10:28:43 +0100 Subject: [PATCH] org-caldav: explicit save-directory ~/org/ + broad error handler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverted to cf4b486 (last known working state), then added: 1. org-caldav-save-directory explicitly set to ~/org/ State files: .org-caldav-.el (one per calendar URL+ID). Delete them to reset sync state. 2. defadvice around org-caldav-update-events-in-org: condition-case catches any error (nil fields, retrieval failures) so sync state is saved and remaining calendars continue. Removed: Fix #1 (@encoding), Fix #3 (set-sequence-number), @google.com UID ignore logic — all 775 @google.com events were deleted from server (backup at daneel:~/caldav-backup-2026-02-25.tar.gz). --- config.el | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/config.el b/config.el index e4411af..860e98a 100644 --- a/config.el +++ b/config.el @@ -1775,6 +1775,21 @@ current frame." (setq org-caldav-delete-org-entries 'never) (setq org-caldav-delete-calendar-entries 'never) + ;; State files: explicitně do ~/org/ (default = org-directory, ale radši jistota) + ;; Soubory se jmenují .org-caldav-.el — jeden per calendar URL+ID combo. + ;; Smazáním těchto souborů se resetuje sync state (org-caldav začne od nuly). + (setq org-caldav-save-directory "~/org/") + + ;; Broad error handler: catch any error during cal->org event update + ;; so sync state is saved even if individual events fail (nil fields, etc.) + (defadvice org-caldav-update-events-in-org (around skip-failed-events activate) + "Catch errors during cal->org sync; log and return so sync state is saved." + (condition-case err + ad-do-it + (error + (message "org-caldav: update-events-in-org error (sync continues): %S" err) + (org-caldav-debug-print 1 (format "update-events-in-org error: %S" err))))) + (defun my/org-caldav-sync () "Sync 3 CalDAV kalendářů: 1. Osobni-Suky (default): stahuj vše → caldav-suky.org, nahraj jen calendar_outbox.org