Repository navigation
fix: sync() ignores removals of unknown objects; ci: no-HTTP-library job - #767
Merged
Merged
Conversation
Every job had requests, pulled in by Radicale, so the import-time "install caldav[niquests]" error was never exercised. The new job removes all HTTP libraries, checks that both clients name the extra and their own sync or async mode, and runs test_http_libraries.py, whose four tests that need a real library now skip when none is installed. Prompt: work on the list 1-8. [a list of low-input tasks proposed in the session; this one: the "no HTTP library" CI job from caldav's docs/design/tmp-todo-http-library-tests.md] Assisted-By: Claude Opus 5.5 <noreply@anthropic.com> Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
Nextcloud keeps a deleted object in its trashbin as <uid>-deleted.ics, and when an object with the same UID is added again it purges the trashed copy and lists it as removed in the sync-collection report. sync() returned it as deleted although the collection never held it, failing testSync on ecloud whenever a previous run had left ev3 in the trashbin; the same goes for a member that is gone by the time it is loaded. testObjectBySyncToken counted the removal, which get_objects_by_sync_token() rightly lists, and now leaves it out. Not a regression: the code before deleted_urls reported it too. Prompt: FAILED tests/test_caldav.py::TestForServerecloud::testSync - assert 1 == 0 (from ~/caldav-with-passwords [= the local clone holding the external test server credentials]). (but don't run it just now, I'm having a rerun going at the moment) Followup-Prompt: It failed again. Feel free to try a git bisect [= the ecloud testSync rerun failed] Followup-Prompt: try again, thrashbin (sic) has been deleted Followup-Prompt: fix [= go ahead with making sync() skip removals of unknown objects, and the sync-token test not count them] Assisted-By: Claude Opus 5.5 (Claude Code) Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
testCreateDeleteCalendar deleted the shared pythoncaldav-test calendar and created it again, ignoring delete-calendar.free-namespace. On ecloud the delete moves it to the trashbin, so the MKCALENDAR got a 405 on every run, and the tests reusing that calendar lost it. Its async twin, with an id of its own, got the 405 from the second run on. Where deleting does not free the id, both now use a fresh id per run, which leaves one calendar per run in the trashbin to be emptied by hand. Prompt: What two ecloud failures? [= the two ecloud failures in a full test run that were not sync-related] Followup-Prompt: please rerun those tests. If they are flakey but eventuallypasses (sic), then /calendar-todo. No github issue needed. If they fail all the time, it needs to be researched and fixed before 3.5.0 is released. [= ecloud testLoadEvent, which passed 3 of 3, and testCreateDeleteCalendar, which failed 3 of 3] Assisted-By: Claude Opus 5.5 (Claude Code) 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.
Three commits on two unrelated topics, bundled in one PR. The code and this text are AI-generated (Claude Opus 5.5).
🤖 Generated with Claude Code