mailbox.org doesn’t return an ETag on PUT, which is allowed. However, DAVdroid has to do a further PROPFIND/REPORT, get the ETag and download the resource again to make sure it’s the same version as referenced in the ETag. So, in short: when a server doesn’t return an ETag on PUT, DAVdroid depends on later downloading the resource.
mailbox.org says that the folder content (CTag) hasn’t changed even after the first task has been uploaded. So, there’s no need for DAVdroid to download the (changed) resources. So, DAVdroid doesn’t get the real ETag of the uploaded resource.
Because DAVdroid doesn’t know the ETag, it assumes that the task has just been created at the second upload. So it sets If-None-Match: * (“don’t overwrite anything”). This precondition and this the second upload attempt fails. Then,
mailbox.org says the CTag has changed in the meanwhile, which causes the resource and its ETag to be downloaded and everything works.
In my opinion, this is a server problem. After uploading the first task, the CTag should change, which would cause DAVdroid to download the task again and know it’s ETag. Further uploads should then work.
I guess that this is caused by a slow server which takes some time until changes are accepted. However, the CTag should change nevertheless as soon as the first task is uploaded.
Please report this to mailbox.org.