From d0a43e5e69cb55b524de0f48a5f9eb5a4ad3d267 Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 28 Jun 2020 15:27:52 +0100 Subject: [PATCH] fixed bugs related to account creation and result saving --- functions/index.js | 3 +++ public/js/account.js | 6 +++++- public/js/db.js | 4 +++- public/js/userconfig.js | 3 +++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/functions/index.js b/functions/index.js index 5b3f852c1..23d2839af 100644 --- a/functions/index.js +++ b/functions/index.js @@ -187,6 +187,9 @@ function checkIfPB(uid,obj){ let pbs = null; try{ pbs = data.data().personalBests; + if(pbs === undefined){ + throw new Error("pb is undefined"); + } }catch(e){ return admin.firestore().collection('users').doc(uid).update({ personalBests: { diff --git a/public/js/account.js b/public/js/account.js index b3508318c..24d922396 100644 --- a/public/js/account.js +++ b/public/js/account.js @@ -78,6 +78,8 @@ function signIn() { } +let dontCheckUserName = false; + function signUp() { $(".pageLogin .preloader").removeClass('hidden'); let nname = $(".pageLogin .register input")[0].value; @@ -104,12 +106,14 @@ function signUp() { } firebase.auth().createUserWithEmailAndPassword(email, password).then(user => { // Account has been created here. + dontCheckUserName = true; let usr = user.user; usr.updateProfile({ displayName: nname }).then(function() { // Update successful. showNotification("Account created", 2000); + $("#menu .button.account .text").text(nname); try{ firebase.analytics().logEvent("accountCreated", usr.uid); }catch(e){ @@ -207,7 +211,7 @@ firebase.auth().onAuthStateChanged(function(user) { var providerData = user.providerData; // showNotification('Signed in', 1000); $(".pageLogin .preloader").addClass('hidden'); - verifyUsername(); + if(!dontCheckUserName) verifyUsername(); $("#menu .button.account .text").text(displayName); } }); diff --git a/public/js/db.js b/public/js/db.js index 417424f97..57c7c077d 100644 --- a/public/js/db.js +++ b/public/js/db.js @@ -47,7 +47,9 @@ async function db_getUserSnapshot() { .then(data => { // console.log('getting data from db!'); try{ - snap.personalBests = data.data().personalBests; + if(data.data().personalBests !== undefined){ + snap.personalBests = data.data().personalBests; + } snap.config = data.data().config; }catch(e){ // diff --git a/public/js/userconfig.js b/public/js/userconfig.js index df8f99125..a09758c82 100644 --- a/public/js/userconfig.js +++ b/public/js/userconfig.js @@ -402,6 +402,9 @@ function togglePunctuation() { //freedom function setFreedomMode(freedom, nosave) { + if(freedom === null){ + freedom = false; + } config.freedomMode = freedom; if(config.freedomMode && config.maxConfidence){ config.maxConfidence = false;