From 9016a41c9fbb5a9d9df20cbf31ca1a7f51e7b980 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:24:35 -0400 Subject: [PATCH] chore: fix substring index issue with emoji characters (#3708) --- lib/pages/chat/events/html_message.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 1489f6485..ef945d711 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -219,9 +219,14 @@ class HtmlMessage extends StatelessWidget { ); if (substringIndex == -1) continue; - final int tokenIndex = result[substringIndex].indexOf(tokenText); + int tokenIndex = result[substringIndex].indexOf(tokenText); if (tokenIndex == -1) continue; + final beforeSubstring = result[substringIndex].substring(0, tokenIndex); + if (beforeSubstring.length != beforeSubstring.characters.length) { + tokenIndex = beforeSubstring.characters.length; + } + final int tokenLength = tokenText.characters.length; final before = result[substringIndex].characters.take(tokenIndex).toString();