From a224941f87746d7b8f2c28d65920290c81a47d5b Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <gua@adhisimon.org>
Date: Thu, 3 May 2018 17:09:50 +0700
Subject: [PATCH] perbaikan resend

---
 lib/partner.js | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/lib/partner.js b/lib/partner.js
index f56ad9e..1a5fec2 100644
--- a/lib/partner.js
+++ b/lib/partner.js
@@ -189,24 +189,31 @@ function report(data) {
     matrix.last_report_to_core = data;
     pull.report(data);
 
-    if (!data.misc && !data.misc.task) {
+    if (!resendDelay.isEnabled()) {
+        //logger.verbose('Skipping resend delay because resend delay has not configured yet', {trx_id: task.trx_id, destination: task.destination, product: task.product});
         return;
     }
 
-    const task = data.misc.task;
+    if (data.rc !== '68') {
+        logger.verbose('Canceling resend delay', {trx_id: data.trx_id})
+        resendDelay.cancel(data.trx_id);
+        return;
+    }
 
-    if (!resendDelay.isEnabled()) {
-        //logger.verbose('Skipping resend delay because resend delay has not configured yet', {trx_id: task.trx_id, destination: task.destination, product: task.product});
+
+    if (!data.misc || !data.misc.task || typeof data.misc.task !== 'object') {
         return;
     }
 
+    const task = data.misc.task;
+
+
     if (data.rc && data.rc === '68') {
         logger.verbose('Registering resend delay', {trx_id: task.trx_id, destination: task.destination, product: task.product})
         resendDelay.register(task, advice);
     }
     else {
-        logger.verbose('Canceling resend delay', {trx_id: task.trx_id, destination: task.destination, product: task.product})
-        resendDelay.cancel(task.trx_id);
+
     }
 }
 
-- 
1.9.0