diff --git a/app/lib/pages/conversation_detail/page.dart b/app/lib/pages/conversation_detail/page.dart index 47967870aa4..dc8856de81a 100644 --- a/app/lib/pages/conversation_detail/page.dart +++ b/app/lib/pages/conversation_detail/page.dart @@ -445,7 +445,7 @@ class TranscriptWidgets extends StatelessWidget { provider.conversation.transcriptSegments.isEmpty ? ExpandableTextWidget( text: (provider.conversation.externalIntegration?.text ?? '').decodeString, - maxLines: 10000, + maxLines: 1000, linkColor: Colors.grey.shade300, style: TextStyle(color: Colors.grey.shade300, fontSize: 15, height: 1.3), toggleExpand: () { diff --git a/app/lib/widgets/expandable_text.dart b/app/lib/widgets/expandable_text.dart index 639f2b48b14..4338bc847ca 100644 --- a/app/lib/widgets/expandable_text.dart +++ b/app/lib/widgets/expandable_text.dart @@ -36,8 +36,10 @@ class _ExpandableTextWidgetState extends State { maxLines: widget.maxLines, textDirection: TextDirection.ltr, ); - tp.layout(maxWidth: MediaQuery.of(context).size.width); + var width = MediaQuery.of(context).size.width; + tp.layout(maxWidth: width); final isOverflowing = tp.didExceedMaxLines; + final maxChars = tp.getPositionForOffset(Offset(width, 0)).offset * widget.maxLines; return SelectionArea( child: Column( @@ -65,8 +67,8 @@ class _ExpandableTextWidgetState extends State { ), data: widget.isExpanded ? widget.text - : widget.text.length > 300 - ? widget.text.substring(0, 300) + : widget.text.length > maxChars + ? widget.text.substring(0, maxChars) : widget.text, ), // Text(