diff --git a/src/messagesadapter.cpp b/src/messagesadapter.cpp
index 8790bbdcf7e46136d62d5dffac232df84c9f64d0..f6fe75955216ad21cf6a8fabc56f5c77b72cfd43 100644
--- a/src/messagesadapter.cpp
+++ b/src/messagesadapter.cpp
@@ -96,6 +96,7 @@ MessagesAdapter::setupChatView(const QString& convUid)
                                       && (convInfo.isRequest || convInfo.needsSyncing))));
 
     setMessagesVisibility(false);
+    setIsSwarm(convInfo.mode != lrc::api::conversation::Mode::NON_SWARM);
     setInvitation(convInfo.isRequest or convInfo.needsSyncing,
                   bestName,
                   contactURI,
@@ -550,6 +551,13 @@ MessagesAdapter::setInvitation(
     QMetaObject::invokeMethod(qmlObj_, "webViewRunJavaScript", Q_ARG(QVariant, s));
 }
 
+void
+MessagesAdapter::setIsSwarm(bool isSwarm)
+{
+    QString s = QString::fromLatin1("set_is_swarm(%1)").arg(isSwarm);
+    QMetaObject::invokeMethod(qmlObj_, "webViewRunJavaScript", Q_ARG(QVariant, s));
+}
+
 void
 MessagesAdapter::clear()
 {
diff --git a/src/messagesadapter.h b/src/messagesadapter.h
index d5cdcb775a6812fc5b2a77645955fd59d8f1e847..5611641d8dafb640e270e083bcec8b030bef13d0 100644
--- a/src/messagesadapter.h
+++ b/src/messagesadapter.h
@@ -80,6 +80,7 @@ protected:
                        const QString& contactId = {},
                        bool isSwarm = false,
                        bool needsSyncing = false);
+    void setIsSwarm(bool isSwarm);
     void clear();
     void printHistory(ConversationModel& conversationModel, MessagesList interactions);
     void updateHistory(ConversationModel& conversationModel,