diff --git a/.gitignore b/.gitignore
index c2c1bcf8f3562362c46626e9d6c545f24d73b0dd..5c45aba0f6ae454143c76f269e13116fc15a99ec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ doc/Doxyfile
 
 GeneratedFiles/
 .vs/
+.vscode/
 x64/
 x86/
 [wW]in32/
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 01506c8be45806bdb474ce3bda6ea85d610af0ed..0000000000000000000000000000000000000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "files.associations": {
-        "*.tcc": "cpp",
-        "array": "cpp",
-        "string": "cpp",
-        "string_view": "cpp",
-        "ranges": "cpp",
-        "thread": "cpp",
-        "xstring": "cpp"
-    }
-}
\ No newline at end of file
diff --git a/src/mainview/components/MessageListView.qml b/src/mainview/components/MessageListView.qml
index bb2ab9a95a918751402bd5da2fe65197736cfe88..dee42c3bd94670b9a62499c2f426fae6fb926673 100644
--- a/src/mainview/components/MessageListView.qml
+++ b/src/mainview/components/MessageListView.qml
@@ -297,62 +297,77 @@ ListView {
                 Layout.alignment: Qt.AlignVCenter
             }
 
-            Text {
-                id: typeIndicatorNameText
-
-                Layout.alignment: Qt.AlignVCenter
-                Layout.leftMargin: JamiTheme.sbsMessageBasePreferredPadding
-                Layout.preferredWidth: {
-                    var textSize = text ? JamiQmlUtils.getTextBoundingRect(font, text).width : 0
-                    var typingContentWidth = typingDots.width + typingDots.anchors.leftMargin
-                                           + typeIndicatorNameText.anchors.leftMargin
-                                           + typeIndicatorEndingText.contentWidth
-                    return Math.min(typeIndicatorContainer.width - 5 - typingContentWidth, textSize)
-                }
+            Connections {
+                target: MessagesAdapter
 
-                font.pointSize: 8
-                font.bold: Font.DemiBold
-                elide: Text.ElideRight
-                color: JamiTheme.textColor
-                text: {
-                    var finalText = ""
+                function onCurrentConvComposingListChanged () {
+                    var typeIndicatorNameTextString = ""
                     var nameList = MessagesAdapter.currentConvComposingList
 
-                    if (nameList.length > 4)
-                        return ""
-                    if (nameList.length === 1)
-                        return nameList[0]
+                    if (nameList.length > 4) {
+                        typeIndicatorNameText.text = ""
+                        typeIndicatorEndingText.text = JamiStrings.typeIndicatorMax
+                        typeIndicatorNameText.calculateWidth()
+                        return
+                    }
+                    if (nameList.length === 1) {
+                        typeIndicatorNameText.text = nameList[0]
+                        typeIndicatorEndingText.text =
+                                JamiStrings.typeIndicatorSingle.replace("{}", "")
+                        typeIndicatorNameText.calculateWidth()
+                        return
+                    }
 
                     for (var i = 0; i < nameList.length; i++) {
-                        finalText += nameList[i]
+                        typeIndicatorNameTextString += nameList[i]
 
                         if (i === nameList.length - 2)
-                            finalText += JamiStrings.typeIndicatorAnd
+                            typeIndicatorNameTextString += JamiStrings.typeIndicatorAnd
                         else if (i !== nameList.length - 1)
-                            finalText += ", "
+                            typeIndicatorNameTextString += ", "
                     }
-
-                    return finalText
+                    typeIndicatorNameText.text = typeIndicatorNameTextString
+                    typeIndicatorEndingText.text =
+                            JamiStrings.typeIndicatorPlural.replace("{}", "")
+                    typeIndicatorNameText.calculateWidth()
                 }
             }
 
             Text {
-                id: typeIndicatorEndingText
+                id: typeIndicatorNameText
+
+                property int textWidth: 0
+
+                function calculateWidth () {
+                    if (!text)
+                        return 0
+                    else {
+                        var textSize = JamiQmlUtils.getTextBoundingRect(font, text).width
+                        var typingContentWidth = typingDots.width + typingDots.anchors.leftMargin
+                                               + typeIndicatorNameText.anchors.leftMargin
+                                               + typeIndicatorEndingText.contentWidth
+                        typeIndicatorNameText.Layout.preferredWidth =
+                                Math.min(typeIndicatorContainer.width - 5 - typingContentWidth,
+                                         textSize)
+                    }
+                }
 
                 Layout.alignment: Qt.AlignVCenter
+                Layout.leftMargin: JamiTheme.sbsMessageBasePreferredPadding
 
                 font.pointSize: 8
+                font.bold: Font.DemiBold
+                elide: Text.ElideRight
                 color: JamiTheme.textColor
-                text: {
-                    var nameList = MessagesAdapter.currentConvComposingList
+            }
 
-                    if (nameList.length > 4)
-                        return JamiStrings.typeIndicatorMax
-                    if (nameList.length === 1)
-                        return JamiStrings.typeIndicatorSingle.replace("{}", "")
+            Text {
+                id: typeIndicatorEndingText
 
-                    return JamiStrings.typeIndicatorPlural.replace("{}", "")
-                }
+                Layout.alignment: Qt.AlignVCenter
+
+                font.pointSize: 8
+                color: JamiTheme.textColor
             }
         }
     }