Closed capocasa closed 1 year ago
UPDATE
Here is the contents of the proppatch request from logs
Oct 07 16:37:07 martin env[45098]: <?xml version="1.0"?>
Oct 07 16:37:07 martin env[45098]: <propertyupdate xmlns="DAV:" xmlns:ICAL="http://apple.com/ns/ical/">
Oct 07 16:37:07 martin env[45098]: <set>
Oct 07 16:37:07 martin env[45098]: <prop>
Oct 07 16:37:07 martin env[45098]: <ICAL:calendar-order>2</ICAL:calendar-order>
Oct 07 16:37:07 martin env[45098]: </prop>
Oct 07 16:37:07 martin env[45098]: </set>
Oct 07 16:37:07 martin env[45098]: </propertyupdate>
Further update:
Reproduction curl request:
curl -u myName:myPassword --request PROPPATCH "http://localhost:5232/myUser/myCalendar/" --data '<propertyupdate xmlns="DAV:" xmlns:ICAL="http://apple.com/ns/ical/"><set><prop><ICAL:calendar-order>2</ICAL:calendar-order></prop></set></propertyupdate>'
Dirty fix: (does not reply with an error but ignores the proppatch request)
Add the following at the end of the Collection class (Line 197 of radicale_remind.py in version 0.5.0)
def set_meta(self, props: Mapping[str, str]) -> None:
pass
Your fix sounds fine to me. Can you open a pull request with it?
Done! #29
Getting a bunch of these errors when using iCalendar on MacOS on a recent M1 macbook air notebook computer. The issue does not appear when editing the same calendar on an iPhone 11. It also works fine on DavX5 on my Android phone.
It would appear that only iCalendar os MacOSX uses the PROPPATCH request method to store some kinds of properties that other calendars don't.
Most likely this is because the
get_meta
class methods are overridden and implemented both in the MinCollection and Collection classes in radicale_remind.py, but notset_meta
.This is radicale_remind 0.5.0 on Python 3.9 on a Debian bullseye system. Happy to help any way I can.