Closed Bug 720253 Opened 8 years ago Closed 8 years ago

Zimbra uses different conflict code 409 instead of 412


(Calendar :: Provider: CalDAV, defect)

Not set


(Not tracked)



(Reporter: Fallen, Assigned: Fallen)



(1 file)

Attached patch Fix - v1 โ€” โ€” Splinter Review
This means with the cache enabled you can't really edit events after a conflict. This simple patch fixes...
Attachment #590587 - Flags: review?(mohit.kanwal)
I'm going to push this since it makes things better for zimbra and its low risk, I'd still appreciate a review though.
Pushed to comm-central changeset 3ce3754f549d
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.4
Backported to releases/comm-aurora changeset ee492eaff0e3
Target Milestone: 1.4 → 1.3
Backported to releases/comm-beta changeset 02f161ec50f5
Target Milestone: 1.3 → 1.2
Comment on attachment 590587 [details] [diff] [review]
Fix - v1

Review of attachment 590587 [details] [diff] [review]:

Setting + but I think we would require the comment documenting this issue.

::: calendar/providers/caldav/calDavCalendar.js
@@ +742,4 @@
>                  if (wasInboxItem && thisCalendar.mShouldPollInbox) {
>                      thisCalendar.doDeleteItemOrUseCache(aNewItem, true, null, true, true, null);
>                  }
> +            } else if (status == 412 || status == 409) {

Maybe a comment about this particular issue can be added, to the file, so that if Zimbra changes the code in the future we don't need to hunt down too much :)
Attachment #590587 - Flags: review?(mohit.kanwal) → review+
409 is the right code for a conflict, 412 is "just" the code for when the conditions sent via If/If-Match headers fail, so I think its safe to just allow 409 in all cases without an extra comment. See <>

Thanks for looking in to this though!
Assignee: nobody → philipp
You need to log in before you can comment on or make changes to this bug.