Mark encrypted rooms when processing room state
This commit is contained in:
parent
604cdcec8a
commit
7ecabcd614
3 changed files with 8 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue