fix: Reply fallback sometimes being stripped incorrectly

This commit is contained in:
Sorunome 2020-12-27 16:47:03 +01:00
parent 4a2a472d6c
commit e9ec6993df
No known key found for this signature in database
GPG Key ID: B19471D07FC9BE9C
3 changed files with 8 additions and 3 deletions

View File

@ -30,7 +30,10 @@ class HtmlMessage extends StatelessWidget {
// We do *not* do this in an AST and just with simple regex here, as riot-web tends to create
// miss-matching tags, and this way we actually correctly identify what we want to strip and, well,
// strip it.
final renderHtml = html.replaceAll(RegExp('<mx-reply>.*<\/mx-reply>'), '');
final renderHtml = html.replaceAll(
RegExp('<mx-reply>.*<\/mx-reply>',
caseSensitive: false, multiLine: false, dotAll: true),
'');
// there is no need to pre-validate the html, as we validate it while rendering

View File

@ -95,7 +95,7 @@ class MessageContent extends StatelessWidget {
if (AppConfig.renderHtml &&
!event.redacted &&
event.isRichMessage) {
String html = event.content['formatted_body'];
var html = event.formattedText;
if (event.messageType == MessageTypes.Emote) {
html = '* $html';
}

View File

@ -34,16 +34,18 @@ class ReplyContent extends StatelessWidget {
if (displayEvent.messageType == MessageTypes.Emote) {
html = '* $html';
}
final fontSize = DefaultTextStyle.of(context).style.fontSize;
replyBody = HtmlMessage(
html: html,
defaultTextStyle: TextStyle(
color: lightText
? Colors.white
: Theme.of(context).textTheme.bodyText2.color,
fontSize: DefaultTextStyle.of(context).style.fontSize,
fontSize: fontSize,
),
maxLines: 1,
room: displayEvent.room,
emoteSize: fontSize * 1.5,
);
} else {
replyBody = Text(