From 39e01c320b729c4f91e256555c14392ebaa6da3e Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:10:57 -0400 Subject: [PATCH] fix: when fetching translation, only consider a message to have included IT if the sent message body matches the message at the end of choreo (#3936) --- lib/pangea/choreographer/models/choreo_record.dart | 4 ++++ lib/pangea/events/event_wrappers/pangea_message_event.dart | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/pangea/choreographer/models/choreo_record.dart b/lib/pangea/choreographer/models/choreo_record.dart index da34f02b7..5ba5b0f6d 100644 --- a/lib/pangea/choreographer/models/choreo_record.dart +++ b/lib/pangea/choreographer/models/choreo_record.dart @@ -223,6 +223,10 @@ class ChoreoRecord { List get itSteps => choreoSteps.where((e) => e.itStep != null).map((e) => e.itStep!).toList(); + + bool endedWithIT(String sent) { + return includedIT && stepText() == sent; + } } /// A new ChoreoRecordStep is saved in the following cases: diff --git a/lib/pangea/events/event_wrappers/pangea_message_event.dart b/lib/pangea/events/event_wrappers/pangea_message_event.dart index d6464df13..22d977359 100644 --- a/lib/pangea/events/event_wrappers/pangea_message_event.dart +++ b/lib/pangea/events/event_wrappers/pangea_message_event.dart @@ -590,8 +590,9 @@ class PangeaMessageEvent { throw Exception("Missing language codes"); } - final includedIT = (originalSent?.choreo?.includedIT ?? false) && - !(originalSent?.choreo?.includedIGC ?? true); + final includedIT = + (originalSent?.choreo?.endedWithIT(originalSent!.text) ?? false) && + !(originalSent?.choreo?.includedIGC ?? true); RepresentationEvent? rep; if (!includedIT) {