From b858cc4b1bf13c7c813fe48bb0b12f9eb3cc4a0d Mon Sep 17 00:00:00 2001
From: Dan Finlay <dan@danfinlay.com>
Date: Mon, 4 Jun 2018 14:24:45 -0700
Subject: Only notify first time lost ids are detected

---
 app/scripts/controllers/preferences.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'app/scripts/controllers/preferences.js')

diff --git a/app/scripts/controllers/preferences.js b/app/scripts/controllers/preferences.js
index cff70272f..038bab37b 100644
--- a/app/scripts/controllers/preferences.js
+++ b/app/scripts/controllers/preferences.js
@@ -111,15 +111,17 @@ class PreferencesController {
    */
   syncAddresses (addresses) {
     let { identities, lostIdentities } = this.store.getState()
+
+    let newlyLost = {}
     Object.keys(identities).forEach((identity) => {
       if (!addresses.includes(identity)) {
         delete identities[identity]
-        lostIdentities[identity] = identities[identity]
+        newlyLost[identity] = identities[identity]
       }
     })
 
     // Identities are no longer present.
-    if (Object.keys(lostIdentities).length > 0) {
+    if (Object.keys(newlyLost).length > 0) {
 
       // timeout to prevent blocking the thread:
       setTimeout(() => {
@@ -130,6 +132,10 @@ class PreferencesController {
       const uri = 'https://diagnostics.metamask.io/v1/orphanedAccounts'
       notifier.notify(uri, { accounts: Object.keys(lostIdentities) })
       .catch(log.error)
+
+      for (let key in newlyLost) {
+        lostIdentities[key] = newlyLost[key]
+      }
     }
 
     this.store.updateState({ identities, lostIdentities })
-- 
cgit