Commit 9f00439
committed
fix: revert incorrect Cyrus hint and consolidate calendar wipe logic
The save-load.event.recurrences.exception: unsupported flag added to the
Cyrus hints was wrong — the caldav-server-tester confirms the feature works.
That incorrect flag caused search.py to force server_expand=True on all
expand searches for Cyrus, breaking testTodoDatesearch (VTODO date search
returned 3 instead of 5) and testRecurringDateWithExceptionSearch (RECURRENCE-ID
assertion on server-expanded results).
Also consolidate the wipe-objects logic: Calendar.delete(wipe=True) now handles
per-object NotFoundError, and all three manual "for x in cal.search(): x.delete()"
loops in _cleanup and _fixCalendar are replaced with cal.delete(wipe=True).
prompt: save-load.event.recurrences.exception is found to be working by the caldav-server-tester project. ... Please fix the wipe logic - we should not duplicate it.
AI Prompts:
claude-sonnet-4-6: Please do a code review of the changes since master. The purpose of this branch is: * Reduce run-time of tests on github. They currently take more than an hour. The tests aren't quick here on my laptop, but they take significantly less time, and test more servers. I didn't investigate the details, but the tests are still much slower at github than locally. * Deal with test breakages on github. Tests still break, but now they also fail here at my laptop, I didn't investigate, but it could be the same reason. The changes causes test breakages: FAILED tests/test_caldav.py::TestForServerDavical::testRecurringDateWithExceptionSearch - KeyError: 'RECURRENCE-ID' FAILED tests/test_caldav.py::TestForServerCyrus::testTodoDatesearch - assert 3 == 5 FAILED tests/test_caldav.py::TestForServerCyrus::testRecurringDateWithExceptionSearch - KeyError: 'RECURRENCE-ID'
claude-sonnet-4-6: save-load.event.recurrences.exception is found to be working by the caldav-server-tester project. This is a simple check, so I trust that it's working, and it shouldn't be marked as unsupported in the compatibility_hints. Perhaps the cyrus docker container run by github has another support matrix than the one run locally, i.e. due to versioning differences? search.recurrences.expanded.exception is reported to be supported, so it should most likely not be marked as unsupported. Does cyrus support save-load.event.recurrences.exception, but fails saving and loading a VTODO with recurrence exceptions? Please check. Since niquest by now is the default, there should not be any testing on a "Niquests fallback", but we do need testing on a "httpx fallback", so that part of the changeset is good. Please fix the wipe logic - we should not duplicate it.1 parent 33a692e commit 9f00439
3 files changed
Lines changed: 12 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
804 | 804 | | |
805 | 805 | | |
806 | 806 | | |
807 | | - | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
808 | 811 | | |
809 | 812 | | |
810 | 813 | | |
| |||
838 | 841 | | |
839 | 842 | | |
840 | 843 | | |
841 | | - | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
842 | 848 | | |
843 | 849 | | |
844 | 850 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1148 | 1148 | | |
1149 | 1149 | | |
1150 | 1150 | | |
1151 | | - | |
1152 | | - | |
1153 | | - | |
1154 | | - | |
1155 | 1151 | | |
1156 | 1152 | | |
1157 | 1153 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1383 | 1383 | | |
1384 | 1384 | | |
1385 | 1385 | | |
1386 | | - | |
1387 | | - | |
1388 | | - | |
1389 | | - | |
1390 | | - | |
1391 | | - | |
| 1386 | + | |
1392 | 1387 | | |
1393 | 1388 | | |
1394 | | - | |
1395 | | - | |
| 1389 | + | |
1396 | 1390 | | |
1397 | 1391 | | |
1398 | 1392 | | |
1399 | 1393 | | |
1400 | | - | |
1401 | | - | |
1402 | | - | |
1403 | | - | |
1404 | | - | |
| 1394 | + | |
1405 | 1395 | | |
1406 | 1396 | | |
1407 | 1397 | | |
| |||
1438 | 1428 | | |
1439 | 1429 | | |
1440 | 1430 | | |
1441 | | - | |
1442 | | - | |
1443 | | - | |
1444 | | - | |
| 1431 | + | |
1445 | 1432 | | |
1446 | 1433 | | |
1447 | 1434 | | |
| |||
0 commit comments