don't log error for message sent on or before september 25th without original sent, log senderID and timestamp in error message

This commit is contained in:
ggurdin 2024-11-01 11:59:35 -04:00
parent a2175d5206
commit aa2f949e39
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
4 changed files with 23 additions and 5 deletions

View file

@ -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,

View file

@ -117,16 +117,21 @@ class RepresentationEvent {
return _tokens?.tokens;
}
Future<List<PangeaToken>> tokensGlobal() async {
Future<List<PangeaToken>> 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,
},
);
}

View file

@ -31,7 +31,12 @@ class OverlayMessageTextState extends State<OverlayMessageText> {
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);
});

View file

@ -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);