chore: if originalSent without tokens, edit message to add new tokens (#1976)

This commit is contained in:
ggurdin 2025-02-27 13:17:05 -05:00 committed by GitHub
parent a42ede894f
commit a8b0c50a53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -15,6 +15,8 @@ import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dar
import 'package:fluffychat/pangea/events/event_wrappers/pangea_representation_event.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_model.dart';
import 'package:fluffychat/pangea/events/models/pangea_token_text_model.dart';
import 'package:fluffychat/pangea/events/models/tokens_event_content_model.dart';
import 'package:fluffychat/pangea/extensions/pangea_room_extension.dart';
import 'package:fluffychat/pangea/toolbar/controllers/text_to_speech_controller.dart';
import 'package:fluffychat/pangea/toolbar/enums/activity_type_enum.dart';
import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart';
@ -181,6 +183,24 @@ class MessageOverlayController extends State<MessageSelectionOverlay>
MatrixState.pangeaController.languageController.userL2!.langCode,
);
}
// If repEvent is originalSent but it's missing tokens, then fetch tokens.
// An edge case, but has happened with some bot message.
else if (repEvent != null &&
repEvent.tokens == null &&
repEvent.content.originalSent) {
final tokens = await repEvent.tokensGlobal(
pangeaMessageEvent!.senderId,
pangeaMessageEvent!.event.originServerTs,
);
await pangeaMessageEvent!.room.pangeaSendTextEvent(
pangeaMessageEvent!.messageDisplayText,
editEventId: pangeaMessageEvent!.eventId,
originalSent: pangeaMessageEvent!.originalSent?.content,
originalWritten: pangeaMessageEvent!.originalWritten?.content,
tokensSent: PangeaMessageTokens(tokens: tokens),
choreo: pangeaMessageEvent!.originalSent?.choreo,
);
}
} catch (e, s) {
ErrorHandler.logError(
e: e,