org-caldav: explicit save-directory ~/org/ + broad error handler
Reverted to cf4b486 (last known working state), then added:
1. org-caldav-save-directory explicitly set to ~/org/
State files: .org-caldav-<md5hash>.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).
This commit is contained in:
15
config.el
15
config.el
@@ -1775,6 +1775,21 @@ current frame."
|
|||||||
(setq org-caldav-delete-org-entries 'never)
|
(setq org-caldav-delete-org-entries 'never)
|
||||||
(setq org-caldav-delete-calendar-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-<md5hash>.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 ()
|
(defun my/org-caldav-sync ()
|
||||||
"Sync 3 CalDAV kalendářů:
|
"Sync 3 CalDAV kalendářů:
|
||||||
1. Osobni-Suky (default): stahuj vše → caldav-suky.org, nahraj jen calendar_outbox.org
|
1. Osobni-Suky (default): stahuj vše → caldav-suky.org, nahraj jen calendar_outbox.org
|
||||||
|
|||||||
Reference in New Issue
Block a user