From 04f6e7df1378d59adaada3099590d6c0fcef73a6 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 31 Oct 2024 12:09:19 -0400 Subject: [PATCH 1/2] handle case of null voices list --- lib/pangea/widgets/chat/tts_controller.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pangea/widgets/chat/tts_controller.dart b/lib/pangea/widgets/chat/tts_controller.dart index c98cb6220..baffb7b9b 100644 --- a/lib/pangea/widgets/chat/tts_controller.dart +++ b/lib/pangea/widgets/chat/tts_controller.dart @@ -45,8 +45,8 @@ class TtsController { await tts.awaitSpeakCompletion(true); - final voices = await tts.getVoices; - availableLangCodes = (voices as List) + final voices = (await tts.getVoices) as List?; + availableLangCodes = (voices ?? []) .map((v) { // on iOS / web, the codes are in 'locale', but on Android, they are in 'name' final nameCode = v['name']?.split("-").first; From 5dad3e5337669d3fc9bbac56b53f2b8a9e11fa9b Mon Sep 17 00:00:00 2001 From: ggurdin Date: Thu, 31 Oct 2024 13:08:22 -0400 Subject: [PATCH 2/2] check if overlay message text is still mounted before calling setState --- lib/pangea/widgets/chat/overlay_message_text.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pangea/widgets/chat/overlay_message_text.dart b/lib/pangea/widgets/chat/overlay_message_text.dart index 4d91ed359..16290e1a8 100644 --- a/lib/pangea/widgets/chat/overlay_message_text.dart +++ b/lib/pangea/widgets/chat/overlay_message_text.dart @@ -104,7 +104,7 @@ class OverlayMessageTextState extends State { widget.overlayController.onClickOverlayMessageToken( tokenPosition.token!, ); - setState(() {}); + if (mounted) setState(() {}); }, text: tokenPosition.token!.text.content, style: style.merge(