Mark encrypted rooms when processing room state
2 files changed, 2 insertions, 11 deletions
diff --git a/src/Cache.cc b/src/Cache.cc
index 397dd05f..ed4194ec 100644
--- a/src/Cache.cc
+++ b/src/Cache.cc
@@ -183,14 +183,12 @@ Cache::setup()
}
void
-Cache::setEncryptedRoom(const std::string &room_id)
+Cache::setEncryptedRoom(lmdb::txn &txn, const std::string &room_id)
{
nhlog::db()->info("mark room {} as encrypted", room_id);
- auto txn = lmdb::txn::begin(env_);
- auto db = lmdb::dbi::open(txn, ENCRYPTED_ROOMS_DB, MDB_CREATE);
+ auto db = lmdb::dbi::open(txn, ENCRYPTED_ROOMS_DB, MDB_CREATE);
lmdb::dbi_put(txn, db, lmdb::val(room_id), lmdb::val("0"));
- txn.commit();
}
bool
diff --git a/src/timeline/TimelineView.cc b/src/timeline/TimelineView.cc
index 270e1d9a..d99b3a37 100644
--- a/src/timeline/TimelineView.cc
+++ b/src/timeline/TimelineView.cc
@@ -284,13 +284,6 @@ TimelineView::parseMessageEvent(const mtx::events::collections::TimelineEvents &
auto decrypted =
parseEncryptedEvent(mpark::get<EncryptedEvent<msg::Encrypted>>(event));
return parseMessageEvent(decrypted, direction);
- } else if (mpark::holds_alternative<StateEvent<state::Encryption>>(event)) {
- try {
- cache::client()->setEncryptedRoom(room_id_.toStdString());
- } catch (const lmdb::error &e) {
- nhlog::db()->critical("failed to save room {} as encrypted",
- room_id_.toStdString());
- }
}
return nullptr;
|