etesync / etesync-dav

This is a CalDAV and CardDAV adapter for EteSync
https://www.etesync.com
GNU General Public License v3.0
285 stars 45 forks source link

cannot sync to various CalDAV accepting applications #303

Open slhale opened 7 months ago

slhale commented 7 months ago

I am syncing tasks from tasks.org on my phone to EteSync. I wanted to view them on my laptop, so I went about setting up this EteSync DAV connector and trying out various CalDAV compatible to-do applications. It seems that this program is the common problem, not any particular to-do app. Some apps that I tested with are https://github.com/mrvladus/Errands and https://github.com/alainm23/planify.

To debug, I have run the EteSync DAV server with the -D option.

I am able to set up a connection to each app with the information provided at http://localhost:37358/.web, but the server starts outputting errors at this point.

[2023-11-27 01:08:42 -0500] [321172/Thread-1939] [DEBUG] Sanitized script name: ''
[2023-11-27 01:08:42 -0500] [321172/Thread-1939] [DEBUG] Sanitized path: '/redacted/65e80857-8ceb-11ee-9ab6-f57d68f0954f/'
[2023-11-27 01:08:42 -0500] [321172/Thread-1939] [INFO] Successful login: 'redacted'
[2023-11-27 01:08:42 -0500] [321172/Thread-1939] [ERROR] An exception occurred during MKCALENDAR request on '/redacted/65e80857-8ceb-11ee-9ab6-f57d68f0954f/': <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '65e80857-8ceb-11ee-9ab6-f57d68f0954f', 1, 0]
Traceback (most recent call last):
  File "peewee.py", line 6496, in get
  File "peewee.py", line 4024, in __getitem__
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "etesync_dav/local_cache/__init__.py", line 239, in get
  File "peewee.py", line 6501, in get
etesync_dav.local_cache.models.CollectionEntityDoesNotExist: <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '65e80857-8ceb-11ee-9ab6-f57d68f0954f', 1, 0]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "radicale/app/__init__.py", line 127, in __call__
  File "radicale/app/__init__.py", line 295, in _handle_request
  File "radicale/app/mkcalendar.py", line 33, in do_MKCALENDAR
  File "etesync_dav/radicale/rights.py", line 43, in authorization
  File "etesync_dav/local_cache/__init__.py", line 241, in get
etesync_dav.local_cache.DoesNotExist: <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '65e80857-8ceb-11ee-9ab6-f57d68f0954f', 1, 0]

Planify helpfully propagates some of the errors it encounters up to the user.

When I try to add a new task list, I get error

Creating a new task list failed
The task list registry may be unavailable or unable to be written to.

Details
Failed to create calendar: HTTP error code 500 (Internal Server Error): A server error occurred.  Please contact the administrator.

on their end, and

[2023-11-27 01:21:20 -0500] [367590/Thread-9] [DEBUG] Sanitized script name: ''
[2023-11-27 01:21:20 -0500] [367590/Thread-9] [DEBUG] Sanitized path: '/redacted/8A9AD4B7-8A38-4742-A07F-FE7FF4E0FEF7'
[2023-11-27 01:21:20 -0500] [367590/Thread-9] [INFO] Successful login: 'redacted'
[2023-11-27 01:21:20 -0500] [367590/Thread-9] [ERROR] An exception occurred during MKCALENDAR request on '/redacted/8A9AD4B7-8A38-4742-A07F-FE7FF4E0FEF7': <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '8A9AD4B7-8A38-4742-A07F-FE7FF4E0FEF7', 1, 0]
Traceback (most recent call last):
  File "peewee.py", line 6496, in get
  File "peewee.py", line 4024, in __getitem__
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "etesync_dav/local_cache/__init__.py", line 239, in get
  File "peewee.py", line 6501, in get
etesync_dav.local_cache.models.CollectionEntityDoesNotExist: <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '8A9AD4B7-8A38-4742-A07F-FE7FF4E0FEF7', 1, 0]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "radicale/app/__init__.py", line 127, in __call__
  File "radicale/app/__init__.py", line 295, in _handle_request
  File "radicale/app/mkcalendar.py", line 33, in do_MKCALENDAR
  File "etesync_dav/radicale/rights.py", line 43, in authorization
  File "etesync_dav/local_cache/__init__.py", line 241, in get
etesync_dav.local_cache.DoesNotExist: <Model: CollectionEntity> instance matching query does not exist:
SQL: SELECT "t1"."id", "t1"."local_user_id", "t1"."uid", "t1"."eb_col", "t1"."new", "t1"."dirty", "t1"."deleted", "t1"."stoken", "t1"."local_stoken" FROM "collectionentity" AS "t1" WHERE (("t1"."local_user_id" = ?) AND (("t1"."uid" = ?) AND NOT "t1"."deleted")) LIMIT ? OFFSET ?
Params: [1, '8A9AD4B7-8A38-4742-A07F-FE7FF4E0FEF7', 1, 0]

on the DAV server.

When I try to add a task, I get error

No client available for task list 'Personal'

on their end, and nothing on the DAV server.

I have tested this problem on the latest release (v0.31.2) and v0.30.8 of the pre-built binaries, as well as using a python virtual environment