From 9ba966ff8b0cf6f99c6c2edb92d1d2f4404955df Mon Sep 17 00:00:00 2001 From: chylex Date: Thu, 19 Sep 2019 19:43:16 +0200 Subject: [PATCH] Fix 'Upload & Combine' using wrong user if that user's index was 0 Closes #40 --- src/tracker/savefile.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/tracker/savefile.js b/src/tracker/savefile.js index 916fae1..fbaa933 100644 --- a/src/tracker/savefile.js +++ b/src/tracker/savefile.js @@ -233,6 +233,7 @@ class SAVEFILE{ combineWith(obj){ var userMap = {}; + var shownError = false; for(var userId in obj.meta.users){ userMap[obj.meta.userindex.findIndex(id => id == userId)] = this.findOrRegisterUser(userId, obj.meta.users[userId].name); @@ -250,8 +251,23 @@ class SAVEFILE{ var oldMessage = oldChannel[messageId]; var oldUser = oldMessage.u; - oldMessage.u = userMap[oldUser] || oldUser; - this.addMessage(channelId, messageId, oldMessage); + if (oldUser in userMap){ + oldMessage.u = userMap[oldUser]; + this.addMessage(channelId, messageId, oldMessage); + } + else{ + if (!shownError){ + shownError = true; + alert("The uploaded archive appears to be corrupted, some messages will be skipped. See console for details."); + + console.error("User list:", obj.meta.users); + console.error("User index:", obj.meta.userindex); + console.error("Generated mapping:", userMap); + console.error("Missing user for the following messages:"); + } + + console.error(oldMessage); + } } } }