Two issues with associate user account

Open
#317 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
backend, databases

Research direction

Start by tracing the failing sync path in etesync_dav/radicale/storage.py and etesync_dav/local_cache/init.py, especially sync_collection and push_collection. Reproduce the account-specific failures and inspect the field validation error returned by etebase when batch is called. Done means explaining and fixing the intermittent login and PROPFIND failures, with regression coverage for the associate account behavior.

Written by the indexing model from the issue text.

Description

etesync-dav 0.32.1 NixOS

Account typically uses iOS, but I have also replicated the issues with cadaver.

  1. Every other login fails on the client with a 500 error; radicale logs show a successful login
  2. Once logged in, PROPFIND requests on any collection usually (but not always) return an error. service logs from that error included below.

I have not been able to reproduce either of these problems on the main account, just the associate account.

Aug 21 16:41:11 mutsumi radicale[2390]: [2390/Thread-10526 (process_request_thread)] [INFO] PROPFIND request for '/ashley/hSakUK3Edxnfhjl_ejoRk8WTMGEctxz6/' with depth '1' received from ::1 using 'cadaver/0.24 neon/0.32.5'
Aug 21 16:41:11 mutsumi radicale[2390]: [2390/Thread-10526 (process_request_thread)] [INFO] Successful login: 'ashley'
Aug 21 16:41:13 mutsumi etesync-dav[2390]: [2390/Thread-10521] [ERROR] HTTP error 400! Code: 'field_errors'. Detail: 'Field validations failed.'
                                           Traceback (most recent call last):
                                             File "/nix/store/7vbywswsj5v7jdx8g4nyi376ixzfgqhw-etesync-dav-0.32.1/lib/python3.11/site-packages/etesync_dav/radicale/storage.py", line 84, in run
                                               etesync.sync()
                                             File "/nix/store/7vbywswsj5v7jdx8g4nyi376ixzfgqhw-etesync-dav-0.32.1/lib/python3.11/site-packages/etesync_dav/local_cache/__init__.py", line 92, in sync
                                               self.sync_collection(collection.uid)
                                             File "/nix/store/7vbywswsj5v7jdx8g4nyi376ixzfgqhw-etesync-dav-0.32.1/lib/python3.11/site-packages/etesync_dav/local_cache/__init__.py", line 157, in sync_collection
                                               self.push_collection(uid)
                                             File "/nix/store/7vbywswsj5v7jdx8g4nyi376ixzfgqhw-etesync-dav-0.32.1/lib/python3.11/site-packages/etesync_dav/local_cache/__init__.py", line 220, in push_collection
                                               item_mgr.batch(chunk_items, None, None)
                                             File "/nix/store/q5a0pvdw7brw5x87hb9yk6z4k7y302cp-python3.11-etebase-0.31.6/lib/python3.11/site-packages/etebase/__init__.py", line 298, in batch
                                               self._inner.batch(items_inner, deps_inner, _inner(fetch_options))
                                           etebase_python.Error: HTTP error 400! Code: 'field_errors'. Detail: 'Field validations failed.'
Aug 21 16:41:13 mutsumi radicale[2390]: [2390/Thread-10526 (process_request_thread)] [ERROR] An exception occurred during PROPFIND request on '/ashley/hSakUK3Edxnfhjl_ejoRk8WTMGEctxz6/': HTTP error 400! Code: 'field_errors'. Detail: 'Field>
Dominant language
Python
Stars
332
Forks
61
PR merge metrics
No merged PRs in 30d

Getting set up

  • Ships a Dockerfile or Docker Compose file
  • No pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from etesync/etesync-dav

All issues in etesync/etesync-dav

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.