summary refs log tree commit diff
path: root/src/ChatPage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r--src/ChatPage.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp
index e1f631d7..2d7c75d1 100644
--- a/src/ChatPage.cpp
+++ b/src/ChatPage.cpp
@@ -1376,7 +1376,7 @@ ChatPage::handleMatrixUri(const QByteArray &uri)
                 return;
 
         QString mxid2;
-        if (segments.size() == 4 && segments[2] == "event") {
+        if (segments.size() == 4 && segments[2] == "e") {
                 if (segments[3].isEmpty())
                         return;
                 else
@@ -1410,6 +1410,8 @@ ChatPage::handleMatrixUri(const QByteArray &uri)
                 for (auto roomid : joined_rooms) {
                         if (roomid == targetRoomId) {
                                 room_list_->highlightSelectedRoom(mxid1);
+                                if (!mxid2.isEmpty())
+                                        view_manager_->showEvent(mxid1, mxid2);
                                 return;
                         }
                 }
@@ -1427,6 +1429,9 @@ ChatPage::handleMatrixUri(const QByteArray &uri)
                                 if (aliases->alias == targetRoomAlias) {
                                         room_list_->highlightSelectedRoom(
                                           QString::fromStdString(roomid));
+                                        if (!mxid2.isEmpty())
+                                                view_manager_->showEvent(
+                                                  QString::fromStdString(roomid), mxid2);
                                         return;
                                 }
                         }