You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: caldav/compatibility_hints.py
+23-33Lines changed: 23 additions & 33 deletions
Original file line number
Diff line number
Diff line change
@@ -163,6 +163,11 @@ class FeatureSet:
163
163
"save-load.event.timezone": {
164
164
"description": "The server accepts events with non-UTC timezone information. When unsupported or broken, the server may reject events with timezone data (e.g., return 403 Forbidden). Related to GitHub issue https://github.com/python-caldav/caldav/issues/372."
165
165
},
166
+
"save-load.icalendar": {"description": "Is it possible to save icalendar data to the calendar? (Most likely yes - but we need a parent to collect all icalendar compatibility problems that aren't specific to one kind of object resource types"},
167
+
"save-load.icalendar.related-to": {
168
+
"description": "The server preserves RELATED-TO properties (RFC5545 section 3.8.4.5) when saving and loading calendar objects. When 'unsupported', the server may typically silently strip all RELATED-TO lines",
169
+
"default": {"support": "full"},
170
+
},
166
171
"search": {
167
172
"description": "calendar MUST support searching for objects using the REPORT method, as specified in RFC4791, section 7"
168
173
},
@@ -183,6 +188,14 @@ class FeatureSet:
183
188
},
184
189
"search.time-range.todo": {"description": "basic time range searches for tasks works", "default": {"support": "full"}},
185
190
"search.time-range.todo.old-dates": {"description": "time range searches for tasks with old dates (e.g. year 2000) work - some servers enforce a min-date-time restriction"},
191
+
"search.time-range.todo.duration": {
192
+
"description": "Time-range searches correctly handle VTODOs that specify their interval via DTSTART+DURATION (without a DUE property). RFC4791 section 9.9 specifies that such tasks overlap a time range if DTSTART+DURATION falls within the range. When 'unsupported', the server ignores DURATION and fails to find such tasks.",
193
+
"default": {"support": "full"},
194
+
},
195
+
"search.time-range.todo.open-start": {
196
+
"description": "Time-range searches with only an end bound (no start) correctly exclude tasks whose DTSTART is after the end bound. RFC4791 section 9.9: a VTODO with both DTSTART and DUE should not overlap if its DTSTART > search_end. When 'broken', the server incorrectly returns future tasks.",
197
+
"default": {"support": "full"},
198
+
},
186
199
"search.time-range.event": {"description": "basic time range searches for event works", "default": {"support": "full"}},
187
200
"search.time-range.event.old-dates": {"description": "time range searches for events with old dates (e.g. year 2000) work - some servers enforce a min-date-time restriction"},
188
201
"search.time-range.journal": {"description": "basic time range searches for journal works"},
"""Future tasks are yielded when doing a date search with some end timestamp and without start timestamp and the task contains both dtstart and due, but not duration (xandikos 0.2.12)""",
759
-
760
770
'vtodo_no_due_infinite_duration':
761
771
"""date search will find todo-items without due if dtstart is """
762
772
"""before the date search interval. This is in breach of rfc4791"""
"""when asked, the server may claim it doesn't support the DAV protocol. Observed by one baikal server, should be investigated more (TODO) and robur""",
780
790
781
-
'date_todo_search_ignores_duration':
782
-
"""Same as above, but specifically for tasks""",
783
-
784
791
'fastmail_buggy_noexpand_date_search':
785
792
"""The 'blissful anniversary' recurrent example event is returned when asked for a no-expand date search for some timestamps covering a completely different date""",
786
793
787
794
'non_existing_raises_other':
788
795
"""Robur raises AuthorizationError when trying to access a non-existing resource (while 404 is expected). Probably so one shouldn't probe a public name space?""",
789
796
790
-
'no_relships':
791
-
"""The calendar server does not support child/parent relationships between calendar components""",
792
-
793
797
'robur_rrule_freq_yearly_expands_monthly':
794
798
"""Robur expands a yearly event into a monthly event. I believe I've reported this one upstream at some point, but can't find back to it""",
'save-load.icalendar.related-to': {'support': 'broken', 'behaviour': 'first RELATED-TO line is preserved but subsequent RELATED-TO lines are stripped'},
1011
1004
'old_flags': [
1012
1005
'propfind_allprop_failure',
1013
1006
'duplicates_not_allowed',
1014
-
'no_relships'## relships seems to work as long as it's one RELATED-TO-line, but as soon as there are multiple lines the implementation seems broken
0 commit comments