Require login when the cache format changes (regression on #444)

remotes/origin/HEAD
Konstantinos Sideris 6 years ago
parent b0e3a7c7fa
commit fc684f6571
  1. 4
      src/Cache.cpp
  2. 7
      src/ChatPage.cpp

@ -32,7 +32,7 @@
//! Should be changed when a breaking change occurs in the cache format.
//! This will reset client's data.
static const std::string CURRENT_CACHE_FORMAT_VERSION("2018.09.16");
static const std::string CURRENT_CACHE_FORMAT_VERSION("2018.09.21");
static const std::string SECRET("secret");
static const lmdb::val NEXT_BATCH_KEY("next_batch");
@ -673,7 +673,7 @@ Cache::isFormatValid()
txn.commit();
if (!res)
return true;
return false;
std::string stored_version(current_version.data(), current_version.size());

@ -683,8 +683,9 @@ ChatPage::bootstrap(QString userid, QString homeserver, QString token)
const bool isInitialized = cache::client()->isInitialized();
const bool isValid = cache::client()->isFormatValid();
if (isInitialized && !isValid) {
nhlog::db()->warn("breaking changes in cache");
if (!isInitialized) {
cache::client()->setCurrentFormat();
} else if (isInitialized && !isValid) {
// TODO: Deleting session data but keep using the
// same device doesn't work.
cache::client()->deleteData();
@ -975,7 +976,7 @@ ChatPage::tryInitialSync()
status_code);
QString errorMsg(tr("Failed to setup encryption keys. Server response: "
"%s %d. Please try again later.")
"%1 %2. Please try again later.")
.arg(QString::fromStdString(err->matrix_error.error))
.arg(status_code));

Loading…
Cancel
Save