dengste / org-caldav

Caldav sync for Emacs orgmode
GNU General Public License v3.0
719 stars 105 forks source link

Wrong type argument: plistp, " " #189

Open dasboeh opened 4 years ago

dasboeh commented 4 years ago

here are my org-caldav settings with which I try to sync to my Posteo.de calendar: (require 'org-caldav) (setq org-caldav-url "https://posteo.de:8443/calendars/userid") (setq org-caldav-calendar-id "byqpzw") (setq org-caldav-inbox "D:/Nextcloud/Dokumente/org/calendar.org") (setq org-icalendar-timezone "Europe/Berlin")

When I try to sync with org-caldav-sync the following exeption is thrown: Wrong type argument: plistp, " "

What did I do wrong? Thanks for any help!

lorenzo-a commented 4 years ago

I am having the same issue, nextcloud 17.0.0 emacs 27.0.50 org-caldav 20190817.1004

Debugger entered--Lisp error: (wrong-type-argument plistp " ") plist-put(" " DAV:status 404) url-dav-process-response(#<killed buffer> "http://192.168.1.254/nextcloud/remote.php/dav/cale...") org-caldav-url-dav-get-properties("http://192.168.1.254/nextcloud/remote.php/dav/cale..." "resourcetype") org-caldav-check-connection()

lorenzo-a commented 4 years ago

Executing the following:

(let ((url-request-method "OPTIONS") (url "http://192.168.1.254/nextcloud/remote.php/dav/calenders/username/calendarname/")) (url-retrieve url (lambda (status) (switch-to-buffer (current-buffer)))))

results into

HTTP/1.1 200 OK Date: Sun, 13 Oct 2019 16:08:56 GMT Server: Apache/2.4.38 (Raspbian) Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Content-Security-Policy: default-src 'none'; X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff X-Robots-Tag: none X-Download-Options: noopen X-Permitted-Cross-Domain-Policies: none Referrer-Policy: no-referrer Allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT, MKCOL DAV: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, nc-calendar-search, nc-enable-birthday-calendar MS-Author-Via: DAV Accept-Ranges: bytes Content-Length: 0 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8

nrdsp commented 4 years ago

Getting the exact same issue. Any hints of what the reason might be?

dengste commented 4 years ago

The error is apparently thrown by url-dav. Do you all use Emacs development version or does this also happen with Emacs 26.3?

nrdsp commented 4 years ago

I'm using Emacs 26.3 whereas Nextcloud is16.0.5 and org-caldav is 20191024.724 the last commit being f530b94b6f8d8d1f8a207e48986da75227bd78a0


Reported with GNU, bug #38034.

brendan-r commented 4 years ago

Same issue here Emacs 26.3 (26.3~1.git96dd019-kk1+18.04)

dengste commented 4 years ago

Whoever here still has this problem, could you please evaluate the following (replacing YOURSERVER, USERNAME, CALENDARNAME accordingly) and post the appearing buffer contents.

(let ((url "https://YOURSERVER/remote.php/dav/calendars/USERNAME/CALENDARNAME/")
       (url-request-method "PROPFIND")
       (url-request-data "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<DAV:propfind xmlns:DAV='DAV:'>\n<DAV:prop><DAV:resourcetype/></DAV:prop></DAV:propfind>\n")
       (url-request-extra-headers '(("Depth" . "1")
                                                       ("Content-Type" . "text/xml"))))
   (switch-to-buffer (url-retrieve-synchronously url)))
nrdsp commented 4 years ago

Here's what I get after evaluating the above:

HTTP/1.1 207 Multi-Status
Server: nginx
Date: Tue, 26 Nov 2019 09:06:25 GMT
Content-Type: application/xml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Security-Policy: default-src 'none';
Set-Cookie: oclx4c94q5h1=23f73de53bfaddd271f6a8164be22eb4; path=/; secure; HttpOnly
Set-Cookie: cookie_test=test; expires=Tue, 26-Nov-2019 10:06:25 GMT; Max-Age=3600
Vary: Brief,Prefer
DAV: 1, 3, extended-mkcol, access-control, calendarserver-principal-property-search, calendar-access, calendar-proxy, calendar-auto-schedule, calendar-availability, nc-calendar-webcal-cache, calendarserver-subscribed, oc-resource-sharing, oc-calendar-publishing, calendarserver-sharing, nc-calendar-search, nc-enable-birthday-calendar
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Robots-Tag: none
X-XSS-Protection: 1; mode=block

<?xml version="1.0"?>
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:cal="urn:ietf:params:xml:ns:caldav" xmlns:cs="http://calendarserver.org/ns/" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns"><d:response><d:href>/remote.php/dav/calendars/username/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/calendar-1/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:calendar/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/calendar-2/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:calendar/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/calendar-3/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:calendar/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/calendar-4/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:calendar/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/inbox/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:schedule-inbox/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response><d:response><d:href>/remote.php/dav/calendars/username/outbox/</d:href><d:propstat><d:prop><d:resourcetype><d:collection/><cal:schedule-outbox/></d:resourcetype></d:prop><d:status>HTTP/1.1 200 OK</d:status></d:propstat></d:response></d:multistatus>
dengste commented 4 years ago

Unfortunately, this response look perfectly fine...

Could you please do 'M-x toggle-debug-on-error' and reproduce the problem. Emacs should then enter the debugger once the problem occurs. Please retrieve the variable 'tree' by doing 'C-h v tree ENTER'. You can exit the debugger by hitting 'q', and doing 'M-x toggle-debug-on-error' again will disable it.

gour commented 4 years ago

I'm getting the same error with GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10) of 2019-08-29 (Manjaro/Arch Linux):

tree’s value is
((DAV:error
      (((#1="http://www.w3.org/2000/xmlns/" . "d")
        . "DAV:")
       ((#1# . "s")
        . "http://sabredav.org/ns"))
      (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
      (http://sabredav\.org/nsmessage nil "Calendar object not found")))

Any further hint?

gour commented 4 years ago

I've tried with Baikal-0.6.1 and get the same error:

tree’s value is
((DAV:error
      (((#1="http://www.w3.org/2000/xmlns/" . "d")
        . "DAV:")
       ((#1# . "s")
        . "http://sabredav.org/ns"))
      (http://sabredav\.org/nssabredav-version nil "4.0.2")
      (http://sabredav\.org/nsexception nil "Sabre\\DAV\\Exception\\NotFound")
      (http://sabredav\.org/nsmessage nil "Calendar object not found")))
hughwilliams94 commented 4 years ago

Has there been any progress on this?

0x4d6165 commented 4 years ago

I'm still dealing with this issue as well

hughwilliams94 commented 4 years ago

@l4nn1312 Can you post the output of running org-caldav-sync with toggle-debug-on-error enabled.

0x4d6165 commented 4 years ago

@hughwilliams94

Debugger entered--Lisp error: (wrong-type-argument plistp " ")
  plist-put(" " DAV:status 404)
  url-dav-process-response(#<killed buffer> "https://cloud.disroot.org/remote.php/dav/calendars...")
  (let ((resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra))) (org-caldav-namespace-bug-workaround resultbuf) (url-dav-process-response resultbuf url))
  (let ((request-data (concat "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" "<DAV:propfind xmlns:DAV='DAV:'>\n<DAV:prop>" "<DAV:" property "/></DAV:prop></DAV:propfind>\n")) (extra '(("Depth" . "1") ("Content-type" . "text/xml")))) (let ((resultbuf (org-caldav-url-retrieve-synchronously url "PROPFIND" request-data extra))) (org-caldav-namespace-bug-workaround resultbuf) (url-dav-process-response resultbuf url)))
  org-caldav-url-dav-get-properties("https://cloud.disroot.org/remote.php/dav/calendars..." "resourcetype")
  (let* ((output (org-caldav-url-dav-get-properties (org-caldav-events-url) "resourcetype")) (status (plist-get (cdr (car output)) 'DAV:status))) (if (or (= (/ status 100) 2) (= status 404)) nil (org-caldav-debug-print 1 "Got error status from PROPFIND: " output) (error "Could not query CalDAV URL %s." (org-caldav-events-url))) (if (= status 404) (progn (org-caldav-debug-print 1 "Got 404 status - assuming calendar is new and empt...") (setq org-caldav-empty-calendar t)) (if (= (length output) 1) (progn (org-caldav-debug-print 1 "This is an empty calendar. Setting flag.") (setq org-caldav-empty-calendar t)))) t)
  org-caldav-check-connection()
  (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry (1+ numretry)))
  (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry (1+ numretry)))))
  (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry (1+ numretry))))))
  (let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry (1+ numretry)))))))
  (lambda nil (if (org-caldav-sync-do-org->cal) (progn (let ((--dolist-tail-- (org-caldav-get-org-files-for-sync)) filename) (while --dolist-tail-- (setq filename (car --dolist-tail--)) (if (not (file-exists-p filename)) (progn (if ... ... ...))) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry (1- org-caldav-retry-attempts)) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry (1+ numretry))))))) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ((missing (cl-set-difference org-caldav-previous-files org-caldav-files :test ...))) (if (and missing (not ...)) (progn (user-error "Sync aborted")))))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur (car --dolist-tail--)) (if (eq (org-caldav-event-status cur) 'ignored) nil (org-caldav-event-set-status cur nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (if (org-caldav-sync-do-org->cal) (progn (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-eventdb-from-cal)))) (if (org-caldav-sync-do-org->cal) (progn (org-caldav-update-events-in-cal org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-events-in-org))) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer)))))()
  funcall((lambda nil (if (org-caldav-sync-do-org->cal) (progn (let ((--dolist-tail-- (org-caldav-get-org-files-for-sync)) filename) (while --dolist-tail-- (setq filename (car --dolist-tail--)) (if (not ...) (progn ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn (org-caldav-check-connection) (setq success t)) (error (if (= numretry ...) (org-caldav-check-connection) (org-caldav-debug-print 1 "Got error while checking connection (will try agai..." err) (setq numretry ...)))))) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ((missing ...)) (if (and missing ...) (progn ...))))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur (car --dolist-tail--)) (if (eq (org-caldav-event-status cur) 'ignored) nil (org-caldav-event-set-status cur nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (if (org-caldav-sync-do-org->cal) (progn (setq org-caldav-ics-buffer (org-caldav-generate-ics)) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-eventdb-from-cal)))) (if (org-caldav-sync-do-org->cal) (progn (org-caldav-update-events-in-cal org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-events-in-org))) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer))))))
  (let nil (funcall '(lambda nil (if (org-caldav-sync-do-org->cal) (progn (let (... filename) (while --dolist-tail-- ... ... ...)))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err (progn ... ...) (error ...)))) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn (let ... ...))) (let ((--dolist-tail-- org-caldav-event-list) cur) (while --dolist-tail-- (setq cur ...) (if ... nil ...) (setq --dolist-tail-- ...))) (if (org-caldav-sync-do-org->cal) (progn (setq org-caldav-ics-buffer ...) (org-caldav-update-eventdb-from-org org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-eventdb-from-cal)))) (if (org-caldav-sync-do-org->cal) (progn (org-caldav-update-events-in-cal org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-events-in-org))) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn (save-current-buffer (set-buffer org-caldav-ics-buffer) (set-buffer-modified-p nil) (kill-buffer)) (delete-file (buffer-file-name org-caldav-ics-buffer)))))))
  eval((let nil (funcall '(lambda nil (if (org-caldav-sync-do-org->cal) (progn (let ... ...))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err ... ...))) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn ...)) (let (... cur) (while --dolist-tail-- ... ... ...)) (if (org-caldav-sync-do-org->cal) (progn ... ...)) (if (org-caldav-sync-do-cal->org) (progn ...))) (if (org-caldav-sync-do-org->cal) (progn (org-caldav-update-events-in-cal org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-events-in-org))) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn (save-current-buffer ... ... ...) (delete-file ...)))))))
  (let* ((syms (mapcar 'org-caldav-var-for-key calkeys)) (vals calvalues) (body #'(lambda nil (if (org-caldav-sync-do-org->cal) (progn (let ... ...))) (if (org-caldav-use-oauth2) (progn (org-caldav-check-oauth2 org-caldav-url) (org-caldav-retrieve-oauth2-token org-caldav-url org-caldav-calendar-id))) (let ((numretry 0) success) (while (null success) (condition-case err ... ...))) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files (progn ...)) (let (... cur) (while --dolist-tail-- ... ... ...)) (if (org-caldav-sync-do-org->cal) (progn ... ...)) (if (org-caldav-sync-do-cal->org) (progn ...))) (if (org-caldav-sync-do-org->cal) (progn (org-caldav-update-events-in-cal org-caldav-ics-buffer))) (if (org-caldav-sync-do-cal->org) (progn (org-caldav-update-events-in-org))) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn (save-current-buffer ... ... ...) (delete-file ...))))) (binds nil)) (while syms (setq binds (cons (list (car-safe (prog1 syms (setq syms ...))) (list 'quote (car-safe (prog1 vals ...)))) binds))) (eval (list 'let binds (list 'funcall (list 'quote body)))))
  (progn (let* ((syms (mapcar 'org-caldav-var-for-key calkeys)) (vals calvalues) (body #'(lambda nil (if (org-caldav-sync-do-org->cal) (progn ...)) (if (org-caldav-use-oauth2) (progn ... ...)) (let (... success) (while ... ...)) (if resume nil (setq org-caldav-event-list nil org-caldav-previous-files nil) (org-caldav-load-sync-state) (if org-caldav-previous-files ...) (let ... ...) (if ... ...) (if ... ...)) (if (org-caldav-sync-do-org->cal) (progn ...)) (if (org-caldav-sync-do-cal->org) (progn ...)) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if (org-caldav-sync-do-org->cal) (progn ... ...)))) (binds nil)) (while syms (setq binds (cons (list (car-safe (prog1 syms ...)) (list 'quote (car-safe ...))) binds))) (eval (list 'let binds (list 'funcall (list 'quote body))))))
  (let (calkeys calvalues oauth-enable) (let ((--dolist-tail-- (number-sequence 0 (1- (length calendar)) 2)) i) (while --dolist-tail-- (setq i (car --dolist-tail--)) (setq calkeys (append calkeys (list (nth i calendar))) calvalues (append calvalues (list (nth (1+ i) calendar)))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (progn (let* ((syms (mapcar 'org-caldav-var-for-key calkeys)) (vals calvalues) (body #'(lambda nil (if ... ...) (if ... ...) (let ... ...) (if resume nil ... ... ... ... ... ...) (if ... ...) (if ... ...) (org-caldav-save-sync-state) (setq org-caldav-event-list nil) (if ... ...))) (binds nil)) (while syms (setq binds (cons (list (car-safe ...) (list ... ...)) binds))) (eval (list 'let binds (list 'funcall (list 'quote body)))))))
  org-caldav-sync-calendar()
  (if (null org-caldav-calendars) (org-caldav-sync-calendar) (let ((--dolist-tail-- org-caldav-calendars) calendar) (while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--)))))
  (if (and org-caldav-event-list (not (eq org-caldav-resume-aborted 'never)) (or (eq org-caldav-resume-aborted 'always) (and (eq org-caldav-resume-aborted 'ask) (y-or-n-p "Last sync seems to have been aborted. Should I try...")))) (org-caldav-sync-calendar org-caldav-previous-calendar t) (setq org-caldav-sync-result nil) (if (null org-caldav-calendars) (org-caldav-sync-calendar) (let ((--dolist-tail-- org-caldav-calendars) calendar) (while --dolist-tail-- (setq calendar (car --dolist-tail--)) (org-caldav-debug-print 1 "Syncing first calendar entry:" calendar) (org-caldav-sync-calendar calendar) (setq --dolist-tail-- (cdr --dolist-tail--))))))
  org-caldav-sync()
  funcall-interactively(org-caldav-sync)
  call-interactively(org-caldav-sync record nil)
  command-execute(org-caldav-sync record)
  counsel-M-x-action("org-caldav-sync")
  #f(compiled-function (x) #<bytecode 0x1ef251a6f262a904>)("org-caldav-sync")
  ivy-call()
  #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>)("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>) ("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t))
  #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>) ivy-prescient--enable-sort-commands)("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>) ivy-prescient--enable-sort-commands) ("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>) ivy-prescient--enable-sort-commands) "M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode -0x4beb5a958053a6e>) ivy-prescient--enable-sort-commands) ("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " ("toggle-debug-on-error" "org-caldav-sync" "org-latex-preview" "=calendar" "my-open-calendar" "doom/help-news" "evil-snipe-f" "org-ref" "dap-go-setup" "customize-variable" "ibuffer" "customize" "ivy-bibtex" "org-ref-index" "org-ref-ivy-cite-completion" "projectile-invalidate-cache" "org-display-user-inline-images" "+workspace/close-window-or-workspace" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "orc" "orn" "oro" "orp" "oru" "pdb" "pwd" "rsh" "sdb" "sly" "wos" "xdb" "=irc" "calc" "deer" ...) :predicate #f(compiled-function (x) #<bytecode 0x1ff2e87105edcf>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)
hughwilliams94 commented 4 years ago

Sorry for the late reply. When I faced this issue, I managed to resolve it by completing clearing out my org-caldav setup and starting again. This also involved deleting all :ID: properties from the respective files. Would it be possible for you to try this? Sorry that this is not a very helpful respnse. The only other thing I noticed in your debug log was that your DAV:status seems to be returning 404, are you sure that you can connect to the caldav endpoint?

hughwilliams94 commented 4 years ago

What does curl -D - -X OPTIONS --basic -u username:password https://cloud.disroot.org/remote.php/dav/calendars... return? Insert your correct username and password as well as the caldav url.

dengste commented 4 years ago

From the backtraces I gather that you all get 404 when doing PROPFIND on 'resource' for your calendar URLs. What is missing here is clearly a check for the HTTP status before I call url-dav-process-response, so I've added that now. At least, this should give a clear error message. Next step would be to find out why you're getting 404s in the first place.