From 2b35fd3fd7204e791c09cba68c1467605d9c1f30 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Mon, 22 Aug 2022 13:01:28 +0200
Subject: [PATCH] fix(1434): put back value of `expires_on`, not `expired_on`

---
 .../leveldb/indexers/LevelMIndexExpiresOnIndexer.ts  | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
index 2548c87d1..ddefe40a1 100644
--- a/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
+++ b/app/lib/dal/indexDAL/leveldb/indexers/LevelMIndexExpiresOnIndexer.ts
@@ -87,16 +87,16 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<
         }
       })
     );
-    // Case 2: expiration REVERT
+    // Case 2: REVERT expired = put back the value of `expires_on`
     const values: MindexEntry[] = Underscore.values(
       newStateByPub
     ).map((entries) => reduce(entries));
-    const byExpiredOn = reduceGroupBy(values, "expired_on");
+    const byExpiresOnForExpired = reduceGroupBy(values, "expires_on");
     await Promise.all(
-      Underscore.keys(byExpiredOn).map(async (expiresOn) =>
+      Underscore.keys(byExpiresOnForExpired).map(async (expiresOn) =>
         this.addAllKeysToExpiresOn(
           pint(expiresOn),
-          byExpiredOn[expiresOn].map((e) => e.pub)
+          byExpiresOnForExpired[expiresOn].map((e) => e.pub)
         )
       )
     );
@@ -112,7 +112,9 @@ export class LevelMIndexExpiresOnIndexer extends LevelDBDataIndex<
       entry = [];
     }
     for (const pub of pubkeys) {
-      entry.push(pub);
+      if (!entry.includes(pub)) {
+        entry.push(pub);
+      }
     }
     await this.put(key, entry);
   }
-- 
GitLab