Repository navigation
chore: add DAV:limit and If-Match: * hints - #770
Merged
Merged
Conversation
sync-token.limit came with hints for the four servers it was first run against; posteo's profile predates the If-Match: * probe. A run of all servers with the pending caldav-server-tester PRs caught Davis, Nextcloud (and so ecloud), CCS, Infomaniak and posteo, each checked against the raw replies. Nextcloud loses the changes past the limit: it always returns the newest token. A 507 refusal with number-of-matches-within-limits, as RFC 6578 section 3.7 says, counts as unsupported. Prompt: `pytest tests/test_caldav.py::TestForServergmx::testCheckCompatibility` fails (...) rerun the compatbility (sic) tests in parallell (sic) for all enabled servers (...) Followup-Prompt: Yes, add those hints - but do some research on why it got wrong in the first place. [the hints for the servers that failed the all-server compatibility run] Assisted-By: Claude Opus 5.5 <noreply@anthropic.com> Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
afix_calendar() always wiped and deleted a leftover calendar at the fixed cal_id first. On Posteo (create-calendar unsupported) it never exists, and the server answers 403 rather than 404, so every async calendar fixture errored out. Skip the pre-delete there, like the sync fixture does. Prompt: I thought the test breakages towards posteo was (sic) because I haven't paid for using that account. The tests was (sic) always tossing up a lot of AuthroizationError (sic). I just did a run, and it was mostly async tests failing. Please look into it: (pytest summary pasted: 47 AuthorizationError errors in TestAsyncForposteo) (could it be a rate limit problem?) Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
testEditSingleRecurrence used naive local times. Within ten days of a DST change, rescheduling the series to 08:00 on a day after the change moved the earlier days' occurrences to 09:00, failing the assert (seen on Posteo, 2026-10-14). The async twin gets the same anchor for symmetry. Prompt: [after being told the Posteo testEditSingleRecurrence failure is a DST artifact in the test, and asked whether to switch it to UTC] Yes. I think it can piggy-back the previous PR Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pin afix_calendar() reusing the calendar at cal_id, without deleting it, on a server without create-calendar whose DELETE answers 403, as Posteo does. Also correct two comments: the 403 comes from the DELETE, not the wipe, and the async recurrence test never reschedules. Prompt: [fix issues found during the review process] Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit message:
Companion to python-caldav/caldav-server-tester#22 (the probe; its OX and 507 grading was fixed alongside these hints).
🤖 Generated with Claude Code