Should be fixed with commit 329ab80e62e87867cbdd25da4ba75fb5117da050 (disable strict parsing instead of adding the lang attribute, because we don’t use it and there might be other unknown properties)
DavDroid re-uploads tasks after first download
If I create a task in a third-party client and upload it to my Baikal server, DavDroid downloads/creates the task properly. When DavDroid synchronizes a second time, it uploads the task with reordered properties and a new PRODID without any semantic changes made to the task through the Task app.
EDIT: I’ve figured out that this only happens if DavDroid just downloaded the task for the first time (after account creation, or if a new task is created elsewhere).
Furthermore I’d urge you to reconsider your treatment of the PRODID. The iCalendar RFC clearly states that the PRODID should identify the app that created the iCalendar object – that DavDroid doesn’t actually store the raw iCalendar object should be kept an implementation detail.