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) {