From fbea8c61bbabe14799842fc8fb214d2977643cc6 Mon Sep 17 00:00:00 2001
From: Hubert Chathi <hubert@uhoreg.ca>
Date: Tue, 28 Jul 2020 17:31:27 -0400
Subject: [PATCH] add logging for keytar/pickle key

and remember when we had key, so that we know that we should expect one
---
 src/Lifecycle.js | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/Lifecycle.js b/src/Lifecycle.js
index a05392c3e9..2bebe22f14 100644
--- a/src/Lifecycle.js
+++ b/src/Lifecycle.js
@@ -306,6 +306,11 @@ async function _restoreFromLocalStorage(opts) {
         }
 
         const pickleKey = await PlatformPeg.get().getPickleKey(userId, deviceId);
+        if (pickleKey) {
+            console.log("Got pickle key");
+        } else {
+            console.log("No pickle key available");
+        }
 
         console.log(`Restoring session for ${userId}`);
         await _doSetLoggedIn({
@@ -364,6 +369,12 @@ export async function setLoggedIn(credentials) {
           ? await PlatformPeg.get().createPickleKey(credentials.userId, credentials.deviceId)
           : null;
 
+    if (pickleKey) {
+        console.log("Created pickle key");
+    } else {
+        console.log("Pickle key not created");
+    }
+
     return _doSetLoggedIn(Object.assign({}, credentials, {pickleKey}), true);
 }
 
@@ -501,6 +512,14 @@ function _persistCredentialsToLocalStorage(credentials) {
     localStorage.setItem("mx_access_token", credentials.accessToken);
     localStorage.setItem("mx_is_guest", JSON.stringify(credentials.guest));
 
+    if (credentials.pickleKey) {
+        localStorage.setItem("mx_has_pickle_key", true);
+    } else {
+        if (localStorage.getItem("mx_has_pickle_key")) {
+            console.error("Expected a pickle key, but none provided.  Encryption may not work.");
+        }
+    }
+
     // if we didn't get a deviceId from the login, leave mx_device_id unset,
     // rather than setting it to "undefined".
     //