View Issue Details

IDProjectCategoryView StatusLast Update
0004094SOGo ConnectorBackend Address Bookpublic2018-03-16 12:37
Reportermacho Assigned Toludovic  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Platform64-bit x86OSUbuntuOS Version16.10
Product Version31.0.3 
Fixed in Version31.0.6 
Summary0004094: Remote contact deletions aren't reflected in Lightning
Description

I'm using SOGo Connector to sync with an OwnCloud server.

Whether I delete contacts from ownCloud's web UI, or from an android app that's synced to the ownCloud server using CalDAV-Sync, the contacts aren't deleted in Thunderbird/Lightning. New contacts added and modifications made elsewhere seem to propagate into Lightning through SOGo without problems, it's just deletions that aren't happening.

TagsNo tags attached.

Activities

MichaelOF

MichaelOF

2017-09-02 17:00

reporter   ~0012250

Last edited: 2017-09-02 17:01

I can confirm this as 100% reproducible for SOGo Connector 31.0.4 and Thunderbird 52.3.0, running on OpenSuse 42.3.

AFAIK Lightning is out of scope here, as Lightning adds calDAV functionality (Tasks/Events/Calendars) to Thunderbird. Thunderbird already has builtin addressbooks, and only SOGo Connector is needed to add cardDAV connectivity.

This bug has an additional side effect:

Once you "detect" the root cause of the bug (remote deletion not synced/propagated) and delete the contact(s) manually in Thunderbird, Thunderbird's addressbook sync hangs, without and further notice.

Even after a restart the affected addressbook is not synced anymore, as the new sync again hangs. You don't get any sync messages anymore.

manny

manny

2017-09-11 09:49

reporter   ~0012281

I have the same problem. May by Sabredav sends a propstats response for a delete contact but the sogo connector expected an empty response.

See sync.addressbook.groupdav.js near line 1254

ludovic

ludovic

2017-09-11 14:29

administrator   ~0012283

From the code at that line, we don't expect an empty response, we check for 200/201 status in it.

manny

manny

2017-09-11 14:39

reporter   ~0012284

Sabredav sends a 418 status if the card should be delete. The Code:

                      if (propstats) {
                          for (let propstat of propstats) {
                              let statusTag = propstat["status"];
                              let itemStatus  = statusTag[0].substr(9, 3);
                              if ((itemStatus == "200"
                                   || itemStatus == "201")
                                  && href != this.gURL) {
                                  handleAddOrModify(key, itemStatus, propstat);
                              }
                              else if (itemStatus == "418" && href != this.gURL) {
                                this.serverDeletes.push(key);
                              }
                          }
                      }

works for me.

ludovic

ludovic

2017-09-11 14:44

administrator   ~0012285

Can you please open a pull request for this on https://github.com/inverse-inc/sogo-connector.tb31?

digidax

digidax

2017-11-16 08:06

reporter   ~0012435

Confirmed also with NextCloud. Setup:

  • Thunderbird 52.4.0 (32-Bit)
  • Inverse SOGo Connector 31.0.5
  • NextCloud 12.0.3 on CentOS 7.4.1708 (Core) x86_64
Christian Mack

Christian Mack

2017-11-17 08:22

developer   ~0012436

@digidax
What are you confirming?
The bug, the return code on deletion requests or that the proposed fix works?

ludovic

ludovic

2018-03-16 12:37

administrator   ~0012721

https://github.com/inverse-inc/sogo-connector.tb31/commit/26140bc19cf53e68b4ebe355894b9108bfec6ff0

Issue History

Date Modified Username Field Change
2017-03-19 20:32 macho New Issue
2017-09-02 17:00 MichaelOF Note Added: 0012250
2017-09-02 17:01 MichaelOF Note Edited: 0012250
2017-09-02 17:01 MichaelOF Note Edited: 0012250
2017-09-11 09:49 manny Note Added: 0012281
2017-09-11 14:29 ludovic Note Added: 0012283
2017-09-11 14:39 manny Note Added: 0012284
2017-09-11 14:44 ludovic Note Added: 0012285
2017-11-16 08:06 digidax Note Added: 0012435
2017-11-17 08:22 Christian Mack Note Added: 0012436
2018-03-16 12:37 ludovic Note Added: 0012721
2018-03-16 12:37 ludovic Status new => resolved
2018-03-16 12:37 ludovic Fixed in Version => 31.0.6
2018-03-16 12:37 ludovic Resolution open => fixed
2018-03-16 12:37 ludovic Assigned To => ludovic