Skip to content

Fixes for #638 and #639 and misc 3.0.2-relevant stuff#639

Merged
tobixen merged 7 commits intomasterfrom
issue638
Mar 15, 2026
Merged

Fixes for #638 and #639 and misc 3.0.2-relevant stuff#639
tobixen merged 7 commits intomasterfrom
issue638

Conversation

@tobixen
Copy link
Copy Markdown
Member

@tobixen tobixen commented Mar 13, 2026

I'm lumping various minor work into one pull request - just because I'm lazy. It's probably still better than to just toss the commits directly into the main branch ...

A NotImplementedError was replaced with proper code for #637 and a the debug communication log has been restored, both for async and sync, without any code duplication, and with test code this time.

The "fix" for #637 is a bit optimistic. At the other hand, this seems like a weird and deprecated corner case.

@tobixen tobixen changed the title Fixes for #638 and #639 Fixes for #638 and #639 and misc 3.0.2-relevant stuff Mar 14, 2026
@tobixen tobixen force-pushed the issue638 branch 4 times, most recently from c68a8e0 to 2dd96da Compare March 15, 2026 14:54
tobixen and others added 7 commits March 15, 2026 16:21
Registers the CLASS property variant of the is-not-defined search
feature, matching the existing .category and .dtend sub-features.
Required by caldav-server-tester's CheckIsNotDefined check.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The debug_dump_communication / PYTHON_CALDAV_COMMDUMP feature was lost
during the v3.0 refactor.  Extract it into a shared _dump_communication()
helper in caldav.lib.error so the logic is not duplicated between the
sync (_sync_request) and async (_async_request) code paths.

Fixes #638

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When search() is called with a full calendar-query XML and the server
does not support search.comp-type.optional, the code raised
NotImplementedError.  Fall back to a single REPORT with the XML as-is
(comp_class auto-detected from response data) for both the sync and
async code paths.

Fixes #637

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Merge `get_or_create_test_calendar` and `aget_or_create_test_calendar`
  into a shared async `_get_or_create_impl`, reducing ~130 lines of
  near-identical duplicated logic
- Merge `_filter_calendars_by_component_set` + `_afilter_calendars_by_component_set`
  and `_find_test_calendar` + `_afind_test_calendar` into single async
  implementations using `_maybe_await`
- Drop dead `get_properties_fn` parameter (was never passed by any caller)
- Remove stale TODO comments from `_fixCalendar` in test_caldav.py
- Trim docs/design/TODO.md: remove resolved and non-actionable items,
  condense Nextcloud UID-reuse bug entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tobixen tobixen merged commit 062395f into master Mar 15, 2026
9 checks passed
@tobixen tobixen deleted the issue638 branch March 15, 2026 15:51
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.

The communication dump is missing test coverage ... raise NotImplementedError(("full xml given, and it has to be patched to include comp_type")

1 participant