]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/manager/storage/SignalAccount.java
Fix loading some account files without legacy store
[signal-cli] / src / main / java / org / asamk / signal / manager / storage / SignalAccount.java
index 6d5925739c41aabf2f13e283380ec1af08f45af6..9721ebea10a053745ac22a7da06e3e0cb9892c09 100644 (file)
@@ -59,7 +59,7 @@ import java.util.stream.Collectors;
 
 public class SignalAccount implements Closeable {
 
-    final static Logger logger = LoggerFactory.getLogger(SignalAccount.class);
+    private final static Logger logger = LoggerFactory.getLogger(SignalAccount.class);
 
     private final ObjectMapper jsonProcessor = new ObjectMapper();
     private final FileChannel fileChannel;
@@ -138,6 +138,8 @@ public class SignalAccount implements Closeable {
 
         account.registered = false;
 
+        account.migrateLegacyConfigs();
+
         return account;
     }
 
@@ -179,6 +181,8 @@ public class SignalAccount implements Closeable {
         account.registered = true;
         account.isMultiDevice = true;
 
+        account.migrateLegacyConfigs();
+
         return account;
     }
 
@@ -354,7 +358,7 @@ public class SignalAccount implements Closeable {
         messageCache = new MessageCache(getMessageCachePath(dataPath, username));
 
         JsonNode threadStoreNode = rootNode.get("threadStore");
-        if (threadStoreNode != null) {
+        if (threadStoreNode != null && !threadStoreNode.isNull()) {
             LegacyJsonThreadStore threadStore = jsonProcessor.convertValue(threadStoreNode,
                     LegacyJsonThreadStore.class);
             // Migrate thread info to group and contact store