From 0a2599269e1859109c640df57cdee9830a9deda1 Mon Sep 17 00:00:00 2001
From: Miodec <bartnikjack@gmail.com>
Date: Wed, 20 Jan 2021 17:08:40 +0000
Subject: [PATCH] hopefully fixed the cannot get proerty global of undefined
 error

---
 functions/index.js |  2 +-
 src/js/db.js       | 11 ++++++++---
 src/js/script.js   | 20 ++++++++++++++------
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/functions/index.js b/functions/index.js
index 38539a0b8..85a00691d 100644
--- a/functions/index.js
+++ b/functions/index.js
@@ -963,7 +963,7 @@ async function getUpdatedLbMemory(userdata, mode, mode2, globallb, dailylb) {
     lbmemory = {};
   }
 
-  if (lbmemory[mode + mode2] === undefined) {
+  if (lbmemory[mode + mode2] == undefined) {
     lbmemory[mode + mode2] = {
       global: null,
       daily: null,
diff --git a/src/js/db.js b/src/js/db.js
index 37be3d0ef..2f28d30a8 100644
--- a/src/js/db.js
+++ b/src/js/db.js
@@ -84,9 +84,14 @@ export async function db_getUserSnapshot() {
           started: data.startedTests,
           completed: data.completedTests,
         };
-        if (data.lbMemory !== undefined) {
-          snap.lbMemory = data.lbMemory;
-        }
+        try {
+          if (data.lbMemory.time15 !== undefined) {
+            snap.lbMemory.time15 = data.lbMemory.time15;
+          }
+          if (data.lbMemory.time60 !== undefined) {
+            snap.lbMemory.time60 = data.lbMemory.time60;
+          }
+        } catch {}
       })
       .catch((e) => {
         throw e;
diff --git a/src/js/script.js b/src/js/script.js
index d75467280..17afbc2a4 100644
--- a/src/js/script.js
+++ b/src/js/script.js
@@ -2451,9 +2451,13 @@ function showResult(difficultyFailed = false) {
                     //global
                     let globalLbString = "";
                     const glb = e.data.globalLeaderboard;
-                    const glbMemory = db_getSnapshot().lbMemory[
-                      config.mode + mode2
-                    ].global;
+                    let glbMemory;
+                    try {
+                      glbMemory = db_getSnapshot().lbMemory[config.mode + mode2]
+                        .global;
+                    } catch {
+                      glbMemory = null;
+                    }
                     let dontShowGlobalDiff =
                       glbMemory == null || glbMemory === -1 ? true : false;
                     let globalLbDiff = null;
@@ -2508,9 +2512,13 @@ function showResult(difficultyFailed = false) {
                     //daily
                     let dailyLbString = "";
                     const dlb = e.data.dailyLeaderboard;
-                    const dlbMemory = db_getSnapshot().lbMemory[
-                      config.mode + mode2
-                    ].daily;
+                    let dlbMemory;
+                    try {
+                      dlbMemory = db_getSnapshot().lbMemory[config.mode + mode2]
+                        .daily;
+                    } catch {
+                      dlbMemory = null;
+                    }
                     let dontShowDailyDiff =
                       dlbMemory == null || dlbMemory === -1 ? true : false;
                     let dailyLbDiff = null;