Ticket #1111: ticket1111.patch

File ticket1111.patch, 1.3 KB (added by FND, 3 years ago)

catching possible exceptions (fairly crude way of addressing this issue, but might be good enough)

  • core/js/Sync.js

    diff --git a/core/js/Sync.js b/core/js/Sync.js
    index cddfd42..bf2f1fb 100644
    a b  
    186186        for(var i=0; i<currSync.syncList.length; i++) { 
    187187                var si = currSync.syncList[i]; 
    188188                if(rowNames.indexOf(si.title) != -1) { 
    189                         var r = true; 
    190                         switch(si.syncStatus) { 
    191                         case sl.changedServer: 
    192                                 r = si.adaptor.getTiddler(syncItem.title,null,si,getTiddlerCallback); 
    193                                 break; 
    194                         case sl.notFound: 
    195                         case sl.changedLocally: 
    196                         case sl.changedBoth: 
    197                                 r = si.adaptor.putTiddler(si.tiddler,null,si,putTiddlerCallback); 
    198                                 break; 
    199                         default: 
    200                                 break; 
     189                        var errorMsg = "Error in doSync: "; 
     190                        try { 
     191                                var r = true; 
     192                                switch(si.syncStatus) { 
     193                                case sl.changedServer: 
     194                                        r = si.adaptor.getTiddler(syncItem.title,null,si,getTiddlerCallback); 
     195                                        break; 
     196                                case sl.notFound: 
     197                                case sl.changedLocally: 
     198                                case sl.changedBoth: 
     199                                        r = si.adaptor.putTiddler(si.tiddler,null,si,putTiddlerCallback); 
     200                                        break; 
     201                                default: 
     202                                        break; 
     203                                } 
     204                                if(!r) 
     205                                        displayMessage(errorMsg + r); 
     206                        } catch(ex) { 
     207                                if(ex.name == "TypeError") 
     208                                        displayMessage("sync operation unsupported: " + ex.message); 
     209                                else 
     210                                        displayMessage(errorMsg + ex.message); 
    201211                        } 
    202                         if(!r) 
    203                                 displayMessage("Error in doSync: " + r); 
    204212                } 
    205213        } 
    206214        return false;