diff --git a/lib/pangea/widgets/chat/overlay_message_text.dart b/lib/pangea/widgets/chat/overlay_message_text.dart index 1ca2f8473..ababbf37c 100644 --- a/lib/pangea/widgets/chat/overlay_message_text.dart +++ b/lib/pangea/widgets/chat/overlay_message_text.dart @@ -142,7 +142,7 @@ class OverlayMessageTextState extends State { widget.overlayController.onClickOverlayMessageToken( tokenPosition.token!, ); - setState(() {}); + if (mounted) setState(() {}); }, text: substring, style: style.merge( 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;