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

This commit is contained in:
Konstantinos Sideris 2018-09-21 14:43:52 +03:00
parent b0e3a7c7fa
commit fc684f6571
2 changed files with 6 additions and 5 deletions

View file

@ -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());

View file

@ -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));