From 9ac6717a901238bce150e7a2893f6ec77bbfade4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Thu, 25 Jan 2024 08:54:13 -0500
Subject: [PATCH] jamiaccount: init convModule for disabled accounts

Change-Id: Iec90e9d91f933531a96d4e84e6a3ed242caf1422
---
 src/jamidht/jamiaccount.cpp                 |  1 +
 test/unitTest/conversation/conversation.cpp | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index b4dccab645..3fe2d95896 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -1237,6 +1237,7 @@ JamiAccount::loadAccount(const std::string& archive_password_scheme,
             config_->username = info->accountId;
             JAMI_WARNING("[Account {:s}] loaded account identity", getAccountID());
             if (not isEnabled()) {
+                convModule(); // Init conv module
                 setRegistrationState(RegistrationState::UNREGISTERED);
             }
         } else if (isEnabled()) {
diff --git a/test/unitTest/conversation/conversation.cpp b/test/unitTest/conversation/conversation.cpp
index 845a0acb29..d00904f1fb 100644
--- a/test/unitTest/conversation/conversation.cpp
+++ b/test/unitTest/conversation/conversation.cpp
@@ -108,6 +108,7 @@ public:
 
 private:
     void testCreateConversation();
+    void testOfflineConvModule();
     void testCreateConversationInvalidDisplayName();
     void testGetConversation();
     void testGetConversationsAfterRm();
@@ -162,6 +163,7 @@ private:
 
     CPPUNIT_TEST_SUITE(ConversationTest);
     CPPUNIT_TEST(testCreateConversation);
+    CPPUNIT_TEST(testOfflineConvModule);
     CPPUNIT_TEST(testCreateConversationInvalidDisplayName);
     CPPUNIT_TEST(testGetConversation);
     CPPUNIT_TEST(testGetConversationsAfterRm);
@@ -547,6 +549,14 @@ ConversationTest::testCreateConversation()
     CPPUNIT_ASSERT(deviceCrtStr == deviceCert);
 }
 
+void
+ConversationTest::testOfflineConvModule()
+{
+    std::cout << "\nRunning test: " << __func__ << std::endl;
+    auto carlaAccount = Manager::instance().getAccount<JamiAccount>(carlaId);
+    CPPUNIT_ASSERT(carlaAccount->convModule() != nullptr);
+}
+
 void
 ConversationTest::testCreateConversationInvalidDisplayName()
 {
-- 
GitLab