From d145c3108d669b8951954426d7ed170a89303710 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 23:52:20 +0000 Subject: [PATCH 1/3] Bump io.element.android:wysiwyg from 2.14.1 to 2.22.0 Bumps [io.element.android:wysiwyg](https://github.com/matrix-org/matrix-wysiwyg) from 2.14.1 to 2.22.0. - [Changelog](https://github.com/matrix-org/matrix-rich-text-editor/blob/main/CHANGELOG.md) - [Commits](https://github.com/matrix-org/matrix-wysiwyg/compare/2.14.1...2.22.0) --- updated-dependencies: - dependency-name: io.element.android:wysiwyg dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index cc1abb3cf6..28e389583a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -101,7 +101,7 @@ ext.libs = [ ], element : [ 'opusencoder' : "io.element.android:opusencoder:1.1.0", - 'wysiwyg' : "io.element.android:wysiwyg:2.14.1" + 'wysiwyg' : "io.element.android:wysiwyg:2.22.0" ], squareup : [ 'moshi' : "com.squareup.moshi:moshi:$moshi", From fac8dd333a45774fd201ed37b5e64aaaec7fd30f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 20 Dec 2023 10:15:39 +0100 Subject: [PATCH 2/3] RTE: fix API break... --- .../home/room/detail/AutoCompleter.kt | 3 ++- .../detail/composer/RichTextComposerLayout.kt | 24 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt index 568f4cf9e7..daf401efc3 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/AutoCompleter.kt @@ -232,6 +232,7 @@ class AutoCompleter @AssistedInject constructor( private fun insertMatrixItemIntoRichTextEditor(editorEditText: EditorEditText, matrixItem: MatrixItem) { if (matrixItem is MatrixItem.EveryoneInRoomItem) { editorEditText.replaceTextSuggestion(matrixItem.displayName) + // Note: not using editorEditText.insertAtRoomMentionAtSuggestion() since we want to keep the existing look and feel of the mention for @room. return } @@ -253,7 +254,7 @@ class AutoCompleter @AssistedInject constructor( matrixItem.getBestName() } - editorEditText.setLinkSuggestion(url = permalink, text = linkText) + editorEditText.insertMentionAtSuggestion(url = permalink, text = linkText) } private fun insertMatrixItemIntoEditable(editText: EditText, editable: Editable, firstChar: Char, matrixItem: MatrixItem) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt index 1b999b65c8..b0923885e8 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt @@ -105,10 +105,10 @@ internal class RichTextComposerLayout @JvmOverloads constructor( override val attachmentButton: ImageButton get() = views.attachmentButton - val richTextEditText: EditText get() = - views.richTextComposerEditText - val plainTextEditText: EditText get() = - views.plainTextComposerEditText + val richTextEditText: EditText + get() = views.richTextComposerEditText + val plainTextEditText: EditText + get() = views.plainTextComposerEditText var pillDisplayHandler: PillDisplayHandler? = null @@ -237,14 +237,16 @@ internal class RichTextComposerLayout @JvmOverloads constructor( views.composerEditTextOuterBorder.background = borderShapeDrawable setupRichTextMenu() - views.richTextComposerEditText.mentionDisplayHandler = object : MentionDisplayHandler { - override fun resolveMentionDisplay(text: String, url: String): TextDisplay = - pillDisplayHandler?.resolveMentionDisplay(text, url) ?: TextDisplay.Plain - - override fun resolveAtRoomMentionDisplay(): TextDisplay = - pillDisplayHandler?.resolveAtRoomMentionDisplay() ?: TextDisplay.Plain - } + views.richTextComposerEditText.updateStyle( + styleConfig = views.richTextComposerEditText.styleConfig, + mentionDisplayHandler = object : MentionDisplayHandler { + override fun resolveMentionDisplay(text: String, url: String): TextDisplay = + pillDisplayHandler?.resolveMentionDisplay(text, url) ?: TextDisplay.Plain + override fun resolveAtRoomMentionDisplay(): TextDisplay = + pillDisplayHandler?.resolveAtRoomMentionDisplay() ?: TextDisplay.Plain + } + ) updateTextFieldBorder(isFullScreen) } From 644587a98c16e18a233ee8cb1aec6147ff671370 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 20 Dec 2023 09:38:59 +0100 Subject: [PATCH 3/3] Fix crash... --- .../home/room/detail/timeline/item/MessageTextItem.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt index 6ffaa6d896..4cfeef0bcf 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt @@ -35,6 +35,7 @@ import im.vector.app.features.home.room.detail.timeline.url.PreviewUrlUiState import im.vector.app.features.home.room.detail.timeline.url.PreviewUrlView import im.vector.app.features.media.ImageContentRenderer import im.vector.lib.core.utils.epoxy.charsequence.EpoxyCharSequence +import io.element.android.wysiwyg.EditorStyledTextView import io.noties.markwon.MarkwonPlugin import org.matrix.android.sdk.api.extensions.orFalse @@ -138,13 +139,19 @@ abstract class MessageTextItem : AbsMessageItem() { val previewUrlView by bind(R.id.messageUrlPreview) private val richMessageStub by bind(R.id.richMessageTextViewStub) private val plainMessageStub by bind(R.id.plainMessageTextViewStub) - var richMessageView: AppCompatTextView? = null + var richMessageView: EditorStyledTextView? = null private set var plainMessageView: AppCompatTextView? = null private set fun requireRichMessageView(): AppCompatTextView { - val view = richMessageView ?: richMessageStub.inflate().findViewById(R.id.messageTextView) + val view = richMessageView ?: richMessageStub.inflate().findViewById(R.id.messageTextView).also { + // Required to ensure that `inlineCodeBgHelper` and `codeBlockBgHelper` are initialized + it.updateStyle( + styleConfig = it.styleConfig, + mentionDisplayHandler = null, + ) + } richMessageView = view return view }