We have the same issue here and found out that changing categories of contacts is the key to a successful sync in this scenario (which of course, is not a solution but merely something we found out while testing).

I documented the whole process:


* Opening "New Contact" popup:


ReferenceError: reference to undefined property "@mozilla.org/intl/nslocaleservice;1" categories.js:64:13

TypeError: Components.classes['@mozilla.org/intl/nslocaleservice;1'] is undefined categories.js:64:13 SCCC__sortArray chrome://sogo-connector/content/addressbook/categories.js:64:13 SCCC_getCategoriesAsArray chrome://sogo-connector/content/addressbook/categories.js:74:9 SCOnCommonCardOverlayLoad chrome://sogo-connector/content/addressbook/common-card-overlay.js:57:9
        goNewCardDialog                 
chrome://messenger/content/addressbook/abCommon.js:734:3
        AbNewCard                       
chrome://messenger/content/addressbook/abCommon.js:483:3
        doCommand                       
chrome://messenger/content/addressbook/abResultsPane.js:490:9
        goDoCommand                     
chrome://global/content/globalOverlay.js:84:7
        oncommand                       
chrome://messenger/content/addressbook/addressbook.xul:1:1


* Synchronizing the address book manually:


Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’ sogoWebDAV.js:175:22


* Editing Contact (as soon as popup appears, these errors do too):


ReferenceError: getUri is not defined abEditCardDialog.groupdav.overlay.js:24:9 OnLoadHandler chrome://sogo-connector/content/addressbook/abEditCardDialog.groupdav.overlay.js:24:9 goEditCardDialog chrome://messenger/content/addressbook/abCommon.js:742:3
        AbEditCard                              
chrome://messenger/content/addressbook/abCommon.js:497:5
AbResultsPaneDoubleClick chrome://messenger/content/addressbook/addressbook.js:532:3 AbResultsPaneOnClick chrome://messenger/content/addressbook/abResultsPane.js:298:7
        onclick                                 
chrome://messenger/content/addressbook/addressbook.xul:1:1



* Changes done are not being synced to the server, only error:



Warning: ‘nsIOService::NewChannelFromURI()’ deprecated, please use ‘nsIOService::NewChannelFromURI2()’ sogoWebDAV.js:175:22


As soon as I change the category of the contact (add/remove/change a category), it syncs successfully (any changes PLUS the category/ies).


Attached you'll find a patch which gets rid of a few errors, but it does not fix the sync problem.

Best regards
Christoph Zechner



On 17/09/2018 12.53, Christian Naumer (c...@brain-biotech.de) wrote:
Am 17.09.18 um 12:44 schrieb Christian Naumer (c...@brain-biotech.de):
We also have an issue with the new plugins on TB60:

In the address book contacts are synced from the server to the client
but not back. Any new contacts created or modiefied do not show up on
the server. Err in console is:

12:38:22.278 ReferenceError: getUri is not defined 1
abEditCardDialog.groupdav.overlay.js:24:9
        OnLoadHandler
chrome://sogo-connector/content/addressbook/abEditCardDialog.groupdav.overlay.js:24:9
        goEditCardDialog 
chrome://messenger/content/addressbook/abCommon.js:742:3
        AbEditCard chrome://messenger/content/addressbook/abCommon.js:497:5
        AbResultsPaneDoubleClick
chrome://messenger/content/addressbook/addressbook.js:532:3
        AbResultsPaneOnClick
chrome://messenger/content/addressbook/abResultsPane.js:298:7
        onclick chrome://messenger/content/addressbook/addressbook.xul:1:1

does anyone else see this? Should I open a bug?

I also should mention this works fine on TB52 with the 31.0.6 plugins
against the same server.

Regards

Christian





Regards

Christian



--
users@sogo.nu
https://inverse.ca/sogo/lists
diff -ur original/chrome/content/sogo-connector/addressbook/abEditCardDialog.groupdav.overlay.js patched/chrome/content/sogo-connector/addressbook/abEditCardDialog.groupdav.overlay.js
--- original/chrome/content/sogo-connector/addressbook/abEditCardDialog.groupdav.overlay.js	2018-09-04 20:08:40.000000000 +0200
+++ patched/chrome/content/sogo-connector/addressbook/abEditCardDialog.groupdav.overlay.js	2018-09-18 10:54:42.000000000 +0200
@@ -18,6 +18,21 @@
  * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+function jsInclude(files, target) {
+     let loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
+                            .getService(Components.interfaces.mozIJSSubScriptLoader);
+     for (let i = 0; i < files.length; i++) {
+         try {
+             loader.loadSubScript(files[i], target);
+         }
+         catch(e) {
+             dump("abEditCardDialog.groupdav.overlay.js: failed to include '" + files[i] + "'\n" + e + "\n");
+         }
+     }
+}
+
+jsInclude(["chrome://sogo-connector/content/addressbook/common-card-overlay.js"]);
+
 /* starting... */
 function OnLoadHandler() {
     // LoadFBUrl();
diff -ur original/chrome/content/sogo-connector/addressbook/categories.js patched/chrome/content/sogo-connector/addressbook/categories.js
--- original/chrome/content/sogo-connector/addressbook/categories.js	2018-08-31 17:17:45.000000000 +0200
+++ patched/chrome/content/sogo-connector/addressbook/categories.js	2018-09-18 11:39:37.000000000 +0200
@@ -61,11 +61,9 @@
     },
 
     _sortArray: function SCCC__sortArray(catsArray) {
-        let localeService = Components.classes["@mozilla.org/intl/nslocaleservice;1"]
-                                      .getService(Components.interfaces.nsILocaleService);
         let collator = Components.classes["@mozilla.org/intl/collation-factory;1"]
                                  .getService(Components.interfaces.nsICollationFactory)
-                                 .CreateCollation(localeService.getApplicationLocale());
+                                 .CreateCollation();
         function compare(a, b) { return collator.compareString(0, a, b); }
         catsArray.sort(compare);
     },

Reply via email to