From e756cfc78dedfc6e4d3a8b11b625384353e5d1a6 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Thu, 27 Oct 2016 15:07:46 +0700
Subject: [PATCH] log when offline partner detected

---
 adaptor-xmpp.js | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/adaptor-xmpp.js b/adaptor-xmpp.js
index 5c146fb..ac1ca81 100644
--- a/adaptor-xmpp.js
+++ b/adaptor-xmpp.js
@@ -77,6 +77,25 @@ function onBuddy(jid, state, statusText, resource) {
     }
 }
 
+function isPartnerOffline(partner) {
+    if (!matrix) { return false; }
+
+    if (!matrix.buddies[partner]) { return false; }
+    if (!matrix.buddies[partner].resources) { return false; };
+
+    var resources = matrix.buddies[partner].resources;
+    for (var key in resources) {
+        if (resources.hasOwnProperty(key)) {
+            var resource = resources[key];
+            if (resources[key].state == 'online') {
+                return false;
+            }
+        }
+    }
+    logger.verbose('Offline partner detected: ' + partner);
+    return true;
+}
+
 function init(_username, _password, _logger, _callbacks) {
     username = _username;
     password = _password;
@@ -143,3 +162,4 @@ exports.init = init;
 exports.sendMessage = sendMessage;
 exports.setOptions = setOptions;
 exports.addFriend = addFriend;
+exports.isPartnerOffline = isPartnerOffline;
-- 
1.9.0