diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart
index 2ce131c3f..fe6b104e0 100644
--- a/lib/pages/chat/events/html_message.dart
+++ b/lib/pages/chat/events/html_message.dart
@@ -336,6 +336,7 @@ class HtmlMessage extends StatelessWidget {
? () => onClick?.call(token)
: null,
child: Text.rich(
+ textScaler: TextScaler.noScaling,
TextSpan(
children: [
LinkifySpan(
@@ -407,6 +408,12 @@ class HtmlMessage extends StatelessWidget {
splashColor: Colors.transparent,
onTap: () => UrlLauncher(context, href, node.text).launchUrl(),
child: Text.rich(
+ // #Pangea
+ // Text.rich applies the device's textScaleFactor
+ // overriding this one since non-html messages don't
+ // abide by the device's textScaleFactor
+ textScaler: TextScaler.noScaling,
+ // Pangea#
TextSpan(
children: _renderWithLineBreaks(
node.nodes,
@@ -428,6 +435,9 @@ class HtmlMessage extends StatelessWidget {
child: Padding(
padding: EdgeInsets.only(left: fontSize),
child: Text.rich(
+ // #Pangea
+ textScaler: TextScaler.noScaling,
+ // Pangea#
TextSpan(
children: [
if (node.parent?.localName == 'ul')
@@ -461,6 +471,9 @@ class HtmlMessage extends StatelessWidget {
),
),
child: Text.rich(
+ // #Pangea
+ textScaler: TextScaler.noScaling,
+ // Pangea#
TextSpan(
children: _renderWithLineBreaks(
node.nodes,
@@ -543,6 +556,9 @@ class HtmlMessage extends StatelessWidget {
obscure = !obscure;
}),
child: Text.rich(
+ // #Pangea
+ textScaler: TextScaler.noScaling,
+ // Pangea#
TextSpan(
children: [
WidgetSpan(
@@ -591,6 +607,9 @@ class HtmlMessage extends StatelessWidget {
obscure = !obscure;
}),
child: Text.rich(
+ // #Pangea
+ textScaler: TextScaler.noScaling,
+ // Pangea#
TextSpan(
children: _renderWithLineBreaks(
node.nodes,
@@ -670,6 +689,9 @@ class HtmlMessage extends StatelessWidget {
},
// Pangea#
child: Text.rich(
+ // #Pangea
+ textScaler: TextScaler.noScaling,
+ // Pangea#
_renderHtml(
// #Pangea
// parser.parse(html).body ?? dom.Element.html(''),
diff --git a/lib/pangea/chat_list/utils/get_chat_list_item_subtitle.dart b/lib/pangea/chat_list/utils/get_chat_list_item_subtitle.dart
index 2d237189a..46bed8a31 100644
--- a/lib/pangea/chat_list/utils/get_chat_list_item_subtitle.dart
+++ b/lib/pangea/chat_list/utils/get_chat_list_item_subtitle.dart
@@ -107,6 +107,7 @@ class ChatListItemSubtitle extends StatelessWidget {
maxLines: pangeaMessageEvent.room.notificationCount >= 1 ? 2 : 1,
overflow: TextOverflow.ellipsis,
isMessage: false,
+ textScaler: MediaQuery.textScalerOf(context),
);
}
diff --git a/lib/pangea/toolbar/widgets/message_token_text.dart b/lib/pangea/toolbar/widgets/message_token_text.dart
index f917b897a..0440f98e0 100644
--- a/lib/pangea/toolbar/widgets/message_token_text.dart
+++ b/lib/pangea/toolbar/widgets/message_token_text.dart
@@ -74,6 +74,7 @@ class MessageTokenText extends StatelessWidget {
return Text(
_pangeaMessageEvent.messageDisplayText,
style: _style,
+ textScaler: TextScaler.noScaling,
);
}
@@ -108,6 +109,8 @@ class MessageTextWidget extends StatelessWidget {
final bool isMessage;
final ReadingAssistanceMode? readingAssistanceMode;
+ final TextScaler? textScaler;
+
const MessageTextWidget({
super.key,
required this.pangeaMessageEvent,
@@ -123,6 +126,7 @@ class MessageTextWidget extends StatelessWidget {
this.isTransitionAnimation = false,
this.isMessage = true,
this.readingAssistanceMode,
+ this.textScaler,
});
@override
@@ -152,6 +156,7 @@ class MessageTextWidget extends StatelessWidget {
softWrap: softWrap,
maxLines: maxLines,
overflow: overflow,
+ textScaler: textScaler,
);
}
@@ -168,6 +173,7 @@ class MessageTextWidget extends StatelessWidget {
softWrap: softWrap ?? true,
maxLines: maxLines,
overflow: overflow ?? TextOverflow.clip,
+ textScaler: textScaler ?? TextScaler.noScaling,
text: TextSpan(
children:
tokenPositions.mapIndexed((int i, TokenPosition tokenPosition) {