From aa2f949e390c7ce34a0a7f242d159e33b934500e Mon Sep 17 00:00:00 2001 From: ggurdin Date: Fri, 1 Nov 2024 11:59:35 -0400 Subject: [PATCH] don't log error for message sent on or before september 25th without original sent, log senderID and timestamp in error message --- .../matrix_event_wrappers/pangea_message_event.dart | 7 ++++++- .../pangea_representation_event.dart | 9 +++++++-- lib/pangea/widgets/chat/overlay_message_text.dart | 7 ++++++- .../practice_activity/target_tokens_controller.dart | 5 ++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/lib/pangea/matrix_event_wrappers/pangea_message_event.dart b/lib/pangea/matrix_event_wrappers/pangea_message_event.dart index 88bcf7f19..74d4483dc 100644 --- a/lib/pangea/matrix_event_wrappers/pangea_message_event.dart +++ b/lib/pangea/matrix_event_wrappers/pangea_message_event.dart @@ -89,7 +89,12 @@ class PangeaMessageEvent { final TextToSpeechRequest params = TextToSpeechRequest( text: rep.content.text, - tokens: (await rep.tokensGlobal()).map((t) => t.text).toList(), + tokens: (await rep.tokensGlobal( + senderId, + originServerTs, + )) + .map((t) => t.text) + .toList(), langCode: langCode, userL1: l1Code ?? LanguageKeys.unknownLanguage, userL2: l2Code ?? LanguageKeys.unknownLanguage, diff --git a/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart b/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart index 7bd1381a8..5d4819de9 100644 --- a/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart +++ b/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart @@ -117,16 +117,21 @@ class RepresentationEvent { return _tokens?.tokens; } - Future> tokensGlobal() async { + Future> tokensGlobal( + String senderID, + DateTime timestamp, + ) async { if (tokens != null) return tokens!; - if (_event == null) { + if (_event == null && timestamp.isAfter(DateTime(2024, 9, 25))) { ErrorHandler.logError( m: 'representation with no _event and no tokens got tokens directly. This means an original_sent with no tokens. This should not happen in messages sent after September 25', s: StackTrace.current, data: { 'content': content.toJson(), 'event': _event?.toJson(), + 'timestamp': timestamp, + 'senderID': senderID, }, ); } diff --git a/lib/pangea/widgets/chat/overlay_message_text.dart b/lib/pangea/widgets/chat/overlay_message_text.dart index 40eb566d7..f23cbba5c 100644 --- a/lib/pangea/widgets/chat/overlay_message_text.dart +++ b/lib/pangea/widgets/chat/overlay_message_text.dart @@ -31,7 +31,12 @@ class OverlayMessageTextState extends State { void initState() { tokens = widget.pangeaMessageEvent.originalSent?.tokens; if (widget.pangeaMessageEvent.originalSent != null && tokens == null) { - widget.pangeaMessageEvent.originalSent!.tokensGlobal().then((tokens) { + widget.pangeaMessageEvent.originalSent! + .tokensGlobal( + widget.pangeaMessageEvent.senderId, + widget.pangeaMessageEvent.originServerTs, + ) + .then((tokens) { // this isn't currently working because originalSent's _event is null setState(() => this.tokens = tokens); }); diff --git a/lib/pangea/widgets/practice_activity/target_tokens_controller.dart b/lib/pangea/widgets/practice_activity/target_tokens_controller.dart index 41b3b0402..69be7f6c2 100644 --- a/lib/pangea/widgets/practice_activity/target_tokens_controller.dart +++ b/lib/pangea/widgets/practice_activity/target_tokens_controller.dart @@ -40,7 +40,10 @@ class TargetTokensController { ) async { final tokens = await pangeaMessageEvent .representationByLanguage(pangeaMessageEvent.messageDisplayLangCode) - ?.tokensGlobal(); + ?.tokensGlobal( + pangeaMessageEvent.senderId, + pangeaMessageEvent.originServerTs, + ); if (tokens == null || tokens.isEmpty) { debugger(when: kDebugMode);