From ab6a15537cbe96ca1571bf39b323f3b2a36a68d9 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Fri, 28 Oct 2016 20:14:07 +0700
Subject: [PATCH] tambah try catch saat update resource

---
 matrix-util.js | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/matrix-util.js b/matrix-util.js
index 95cb4ce..bf3e229 100644
--- a/matrix-util.js
+++ b/matrix-util.js
@@ -41,18 +41,25 @@ MatrixUtil.prototype.updateBuddyState = function(jid, state, statusText, resourc
         matrix.buddies[jid] = {resources: {}};
     }
 
-    matrix.buddies[jid]['resources'][resource] = {
-        state: state,
-        statusText: statusText,
-        lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss')
+    try {
+        matrix.buddies[jid]['resources'][resource] = {
+            state: state,
+            statusText: statusText,
+            lastUpdate: moment().format('YYYY-MM-DD HH:mm:ss')
+        }
     }
+    catch(e) {
+        logger.warn('MatrixUtil: Exception on update resources on matrix', {jid: jid, state: state, statusText: statusText, resource: resource});
+    }
+
+
 
     if (resource != 'undefined' && matrix.buddies[jid].resources['undefined']) {
         try {
             delete matrix.buddies[jid].resources['undefined'];
         }
         catch(e) {};
-    }
+        }
 }
 
 MatrixUtil.prototype.isAFriend = function(jid) {
@@ -110,7 +117,7 @@ MatrixUtil.prototype.updateLastIncoming = function(sender, msg) {
 
 MatrixUtil.prototype.updateLastOutgoing = function(destination, msg) {
     var matrix = this.matrix;
-    
+
     if (!matrix) {
         return;
     }
-- 
1.9.0