pimutils / pimutils/vdirsyncer
Vdirsyncer does not work with iPhone hotspot on macOS
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 185
- Avg merge
- 11h 49m
- Merged PRs (30d)
- 1
Description
Everything works as expected on normal Wifi but fails when using a hotspot from a mobile phone.
I assume it times out, as there is a long pause between Sending request... and the error output.
vdirsyncer, version 0.19.3
Python version 3.12.7
macOS Sequoia 15.1
vdirsyncer -vdebug sync output:
debug: Fetching value for password.fetch with command strategy.
debug: Found cached value for ['command', ...].
Syncing calendar_posteo
debug: ====================
debug: PROPFIND
debug: {'User-Agent': 'vdirsyncer/0.19.3', 'Content-Type': 'application/xml; charset=UTF-8', 'Depth': '1'}
debug: b'<?xml version="1.0" encoding="utf-8" ?>\n <propfind xmlns="DAV:">\n <prop>\n <resourcetype/>\n <getcontenttype/>\n <getetag/>\n </prop>\n </propfind>\n '
debug: Sending request...
Syncing contacts_posteo
debug: ====================
debug: PROPFIND
debug: {'User-Agent': 'vdirsyncer/0.19.3', 'Content-Type': 'application/xml; charset=UTF-8', 'Depth': '1'}
debug: b'<?xml version="1.0" encoding="utf-8" ?>\n <propfind xmlns="DAV:">\n <prop>\n <resourcetype/>\n <getcontenttype/>\n <getetag/>\n </prop>\n </propfind>\n '
debug: Sending request...
error: Unknown error occurred for calendar_posteo: Cannot connect to host posteo.de:8443 ssl:default [None]
error: Use `-vdebug` to see the full traceback.
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/cli/tasks.py", line 74, in sync_collection
debug: await sync.sync(
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/sync/__init__.py", line 149, in sync
debug: a_nonempty = await a_info.prepare_new_status()
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/sync/__init__.py", line 55, in prepare_new_status
debug: async for href, etag in self.storage.list(): # type: ignore[attr-defined]
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/storage/dav.py", line 853, in list
debug: async for href, etag in super().list():
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/storage/dav.py", line 672, in list
debug: response = await self.session.request(
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/storage/dav.py", line 413, in request
debug: return await http.request(method, url, session=session, **more)
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/dfnrv7dckr3km3vi9lh3k1fpqdkprlx3-python3.12-vdirsyncer-0.19.3/lib/python3.12/site-packages/vdirsyncer/http.py", line 184, in request
debug: response = await session.request(method, url, headers=headers, **kwargs)
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/xkaby9wz7izp9rgqf29f4fqcf0hlslv0-python3.12-aiohttp-3.10.8/lib/python3.12/site-packages/aiohttp/client.py", line 659, in _request
debug: conn = await self._connector.connect(
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/xkaby9wz7izp9rgqf29f4fqcf0hlslv0-python3.12-aiohttp-3.10.8/lib/python3.12/site-packages/aiohttp/connector.py", line 557, in connect
debug: proto = await self._create_connection(req, traces, timeout)
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/xkaby9wz7izp9rgqf29f4fqcf0hlslv0-python3.12-aiohttp-3.10.8/lib/python3.12/site-packages/aiohttp/connector.py", line 1002, in _create_connection
debug: _, proto = await self._create_direct_connection(req, traces, timeout)
debug: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
debug: File "/nix/store/xkaby9wz7izp9rgqf29f4fqcf0hlslv0-python3.12-aiohttp-3.10.8/lib/python3.12/site-packages/aiohttp/connector.py", line 1293, in _create_direct_connection
debug: raise ClientConnectorError(req.connection_key, exc) from exc
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The traceback leads through vdirsyncer/storage/dav.py and vdirsyncer/http.py into aiohttp's connection setup. Reproduce the PROPFIND failure on macOS with normal Wi-Fi and an iPhone hotspot, then compare connection and timeout behavior. Done means identifying a reproducible cause and adding a focused fix or regression test for hotspot connections.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100