summary refs log tree commit diff
path: root/src/Cache.cpp
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2020-07-20 18:25:22 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2020-07-20 18:25:22 +0200
commitf23d733cffc9cfbc806631fe670d3ca28c40417a (patch)
tree97dde2822953b1b671ca0f9c4f26b9f285816b5a /src/Cache.cpp
parentFix reactions (diff)
downloadnheko-f23d733cffc9cfbc806631fe670d3ca28c40417a.tar.xz
Fix room joins
Diffstat (limited to 'src/Cache.cpp')
-rw-r--r--src/Cache.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp
index 0307bee1..3aec445a 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -1439,8 +1439,16 @@ Cache::getLastEventId(lmdb::txn &txn, const std::string &room_id)
 std::optional<Cache::TimelineRange>
 Cache::getTimelineRange(const std::string &room_id)
 {
-        auto txn     = lmdb::txn::begin(env_, nullptr, MDB_RDONLY);
-        auto orderDb = getOrderToMessageDb(txn, room_id);
+        auto txn = lmdb::txn::begin(env_, nullptr, MDB_RDONLY);
+        lmdb::dbi orderDb{0};
+        try {
+                orderDb = getOrderToMessageDb(txn, room_id);
+        } catch (lmdb::runtime_error &e) {
+                nhlog::db()->error("Can't open db for room '{}', probably doesn't exist yet. ({})",
+                                   room_id,
+                                   e.what());
+                return {};
+        }
 
         lmdb::val indexVal, val;