diff --git a/lib/pangea/controllers/message_analytics_controller.dart b/lib/pangea/controllers/message_analytics_controller.dart index 46e656dc1..6bbbc9979 100644 --- a/lib/pangea/controllers/message_analytics_controller.dart +++ b/lib/pangea/controllers/message_analytics_controller.dart @@ -121,6 +121,12 @@ class MessageAnalyticsEntry { isFirstTimeComputing = false; } + void revealAllTokens() { + for (final token in tokensWithXp) { + token.targetTypes.remove(ActivityTypeEnum.hiddenWordListening); + } + } + bool get shouldHideToken => tokensWithXp.any( (token) => token.targetTypes.contains(ActivityTypeEnum.hiddenWordListening), diff --git a/lib/pangea/widgets/chat/message_audio_card.dart b/lib/pangea/widgets/chat/message_audio_card.dart index 8b1f86091..242d2ca9b 100644 --- a/lib/pangea/widgets/chat/message_audio_card.dart +++ b/lib/pangea/widgets/chat/message_audio_card.dart @@ -164,11 +164,8 @@ class MessageAudioCardState extends State { setSectionStartAndEndFromSelection(); if (mounted) setState(() => _isLoading = false); } catch (e, s) { - debugger(when: kDebugMode); widget.onError?.call(); - debugPrint(StackTrace.current.toString()); - if (!mounted) return; - setState(() => _isLoading = false); + debugger(when: kDebugMode); ErrorHandler.logError( e: e, s: s, @@ -178,6 +175,7 @@ class MessageAudioCardState extends State { widget.messageEvent.messageDisplayLangCode, }, ); + if (mounted) setState(() => _isLoading = false); } } diff --git a/lib/pangea/widgets/practice_activity/practice_activity_card.dart b/lib/pangea/widgets/practice_activity/practice_activity_card.dart index c412ac1dc..453059a5b 100644 --- a/lib/pangea/widgets/practice_activity/practice_activity_card.dart +++ b/lib/pangea/widgets/practice_activity/practice_activity_card.dart @@ -292,12 +292,11 @@ class PracticeActivityCardState extends State { _setPracticeActivity(result.last as PracticeActivityModel?); } catch (e, s) { - _setPracticeActivity(null); + _onError(); debugger(when: kDebugMode); ErrorHandler.logError( e: e, s: s, - m: 'Failed to get new activity', data: { 'activity': currentActivity, 'record': currentCompletionRecord, @@ -306,7 +305,8 @@ class PracticeActivityCardState extends State { } } - void _onDownstreamError() { + void _onError() { + messageAnalyticsEntry?.revealAllTokens(); _setPracticeActivity(null); } @@ -377,7 +377,7 @@ class PracticeActivityCardState extends State { currentActivity: currentActivity!, tts: widget.ttsController, eventID: widget.pangeaMessageEvent.eventId, - onError: _onDownstreamError, + onError: _onError, ); } }