summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Cache.cpp12
-rw-r--r--src/ChatPage.cpp9
2 files changed, 12 insertions, 9 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;
 
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp
index c4376905..012f1e69 100644
--- a/src/ChatPage.cpp
+++ b/src/ChatPage.cpp
@@ -244,7 +244,6 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent)
           room_list_, &RoomList::roomChanged, view_manager_, &TimelineViewManager::setHistoryView);
 
         connect(room_list_, &RoomList::acceptInvite, this, [this](const QString &room_id) {
-                view_manager_->addRoom(room_id);
                 joinRoom(room_id);
                 room_list_->removeRoom(room_id, currentRoom() == room_id);
         });
@@ -543,12 +542,8 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent)
                                   emit notificationsRetrieved(std::move(res));
                           });
         });
-        connect(this, &ChatPage::syncRoomlist, room_list_, &RoomList::sync, Qt::QueuedConnection);
-        connect(this,
-                &ChatPage::syncTags,
-                communitiesList_,
-                &CommunitiesList::syncTags,
-                Qt::QueuedConnection);
+        connect(this, &ChatPage::syncRoomlist, room_list_, &RoomList::sync);
+        connect(this, &ChatPage::syncTags, communitiesList_, &CommunitiesList::syncTags);
         connect(
           this, &ChatPage::syncTopBar, this, [this](const std::map<QString, RoomInfo> &updates) {
                   if (updates.find(currentRoom()) != updates.end())