https://bugs.kde.org/show_bug.cgi?id=338570
Ingo Ratsdorf <i...@envirology.co.nz> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |i...@envirology.co.nz --- Comment #1 from Ingo Ratsdorf <i...@envirology.co.nz> --- The way the resource is designed is the following: Say we delete an event from Calendar in KOrganizer: 1) Akonadi calls item-deleted function in resource 2) Resource grabs url and etag and send a delete request to the caldav server together with an if-match header and the stored etag. 3) If everything worked, resource deletes item from akonadi collection Now comes the tricky bit: If the above DOES NOT WORK (because the item was changed meanwhile before we sent that delete request), the resource gets a 412 error back from the server and calls its retry function and that does emit broken, offline. So in order for this to work, we need to introduce conflict resolution handling. Ie in the above, have three exclusive options: 1) ask the user for input 2) delete anyway (we are the boss) 3) reload from server. This currently does not work as the dav job is not given to the retry function, only the error message. In the above example of deleting an element, the resource should probably do (either or): 1) Ask user for input and then do one of the below 2) Server wins: ignore delete request and start new job to retrieve updated item from DAV server - if that fails, either ignore silently or notify user 3) Client wins: Restart the job without the if-match header, delete the item. If that fails, delete item from collection only, and/or notify user -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ Kdepim-bugs mailing list Kdepim-bugs@kde.org https://mail.kde.org/mailman/listinfo/kdepim-bugs