Skip to content

Small fixes: caldav.testing servers, async factories - #800

Merged
tobixen merged 2 commits into
masterfrom
small-fixes-797-793-794
Oct 19, 2026
Merged

tobixen merged 2 commits into
masterfrom
small-fixes-797-793-794

Conversation

@tobixen

@tobixen tobixen commented Oct 19, 2026

Copy link
Copy Markdown
Member

Disclaimer: Both the code and the text below the line are AI-generated, by Claude Opus 5.5 (Claude Code), from the prompts:

... start looking into github issues, prioritize issues that are tagged in my calendar, issues recently posted by third parties, but most importantly: issues relevant for [the calendaring library, https://github.com/pycalendar/calendaring]
Let's bundle small things in a PR, #797, #794, #793 are all small things I think? If you agree, go for it, create a PR with those, and we'll take #598 and #786 in the next session


This PR bundles three small fixes, all found while building the calendaring library on top of caldav:

Each fix came with tests that were written first and seen failing. Changelog fragments are in changes/.

RadicaleServer passed no server section to Radicale, so it always
listened on 5232.  stop() left the server end of the socketpair open,
and XandikosServer.stop() never closed its event loop; both raised
warnings under -W error.

Fixes #797

Prompt: ... start looking into github issues, prioritize issues that are tagged in my calendar, issues recently posted by third parties, but most importantly: issues relevant for [the calendaring library, https://github.com/pycalendar/calendaring]

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
Comment thread tests/test_async_davclient.py Fixed
aio.get_calendars() was a drifted copy of the sync one and resolved a
single section only.  Client resolution is now one shared helper, run
in a thread from async code, as aio.get_davclient() now is too, so the
config file and RFC 6764 discovery no longer block the event loop.
_auto_url moved to base_client, so an httpx-only install can create a
client.  Like the sync one, aio.get_calendars() no longer probes with
OPTIONS, and a failed principal lookup obeys raise_errors.

Fixes #793
Fixes #794

Prompt: Let's bundle small things in a PR, #797, #794, #793 are all small things I think?  If you agree, go for it, create a PR with those, and we'll take #598 and #786 in the next session

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen force-pushed the small-fixes-797-793-794 branch from 51df4d9 to 6cfc275 Compare October 19, 2026 21:02
@tobixen
tobixen merged commit 6e35f3e into master Oct 19, 2026
17 checks passed
@tobixen
tobixen deleted the small-fixes-797-793-794 branch October 19, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants