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