diff --git a/src/lrcinstance.cpp b/src/lrcinstance.cpp
index 88385327f01e81a0236f32dc757d1b383b2d954d..cd947070c940bca68d298653b44bb8dc7463def2 100644
--- a/src/lrcinstance.cpp
+++ b/src/lrcinstance.cpp
@@ -428,3 +428,22 @@ LRCInstance::getCurrentCallId()
         return QString();
     }
 }
+
+QString
+LRCInstance::get_selectedConvUid()
+{
+    return selectedConvUid_;
+}
+
+void
+LRCInstance::set_selectedConvUid(QString selectedConvUid)
+{
+    if (selectedConvUid_ != selectedConvUid) {
+        auto& accInfo = accountModel().getAccountInfo(get_currentAccountId());
+        auto& convModel = accInfo.conversationModel;
+        convModel->clearInteractionsCache(selectedConvUid_);
+
+        selectedConvUid_ = selectedConvUid;
+        Q_EMIT selectedConvUidChanged();
+    }
+}
diff --git a/src/lrcinstance.h b/src/lrcinstance.h
index b3145de462ad8de0482bab327f539287ba41bd36..3433710a9d1e40c0b855461fc2f0624edc5faa88 100644
--- a/src/lrcinstance.h
+++ b/src/lrcinstance.h
@@ -55,7 +55,8 @@ using getConvPredicate = std::function<bool(const conversation::Info& conv)>;
 class LRCInstance : public QObject
 {
     Q_OBJECT
-    QML_PROPERTY(QString, selectedConvUid)
+    Q_PROPERTY(QString selectedConvUid READ get_selectedConvUid WRITE set_selectedConvUid NOTIFY
+                   selectedConvUidChanged)
     QML_PROPERTY(QString, currentAccountId)
     QML_RO_PROPERTY(lrc::api::profile::Type, currentAccountType)
     QML_PROPERTY(bool, currentAccountAvatarSet)
@@ -123,8 +124,13 @@ public:
     bool hasActiveCall(bool withVideo = false);
     VectorString getConferenceSubcalls(const QString& callId);
 
+    QString get_selectedConvUid();
+
+    void set_selectedConvUid(QString selectedConvUid = "");
+
 Q_SIGNALS:
     void accountListChanged();
+    void selectedConvUidChanged();
     void restoreAppRequested();
     void notificationClicked();
     void quitEngineRequested();
@@ -136,6 +142,7 @@ private:
     std::unique_ptr<RenderManager> renderer_;
     std::unique_ptr<UpdateManager> updateManager_;
 
+    QString selectedConvUid_;
     MapStringString contentDrafts_;
     MapStringString lastConferences_;