diff --git a/src/Cache.cpp b/src/Cache.cpp index 5e8ba13f..8f4964e1 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -42,6 +42,7 @@ #include "UserSettingsPage.h" #include "Utils.h" #include "encryption/Olm.h" +#include //! Should be changed when a breaking change occurs in the cache format. //! This will reset client's data. @@ -2440,7 +2441,13 @@ try { } auto j = nlohmann::json(event); - accountDataDb.put(txn, j["type"].get(), j.dump()); + try { + accountDataDb.put(txn, j["type"].get(), j.dump()); + } catch (const lmdb::error &e) { + nhlog::db()->warn("failed to save state after sync: {}, skipping event", + e.what()); + return; + } }, ev); }