@@ -91,27 +91,44 @@ class RepresentationEvent {
91
91
92
92
if (tokenEvents.length > 1 ) {
93
93
debugger (when : kDebugMode);
94
- ErrorHandler .logError (
95
- m: 'should not have more than one tokenEvent per representation ${_event ?.eventId }' ,
96
- s: StackTrace .current,
97
- data: {
98
- "eventID" : _event? .eventId,
99
- "content" : tokenEvents.map ((e) => e.content).toString (),
100
- "type" : tokenEvents.map ((e) => e.type).toString (),
101
- },
94
+ Sentry .addBreadcrumb (
95
+ Breadcrumb (
96
+ message:
97
+ 'should not have more than one tokenEvent per representation ${_event ?.eventId }' ,
98
+ data: {
99
+ "eventID" : _event? .eventId,
100
+ "content" : tokenEvents.map ((e) => e.content).toString (),
101
+ "type" : tokenEvents.map ((e) => e.type).toString (),
102
+ },
103
+ ),
102
104
);
103
105
}
104
106
105
- final PangeaMessageTokens storedTokens =
106
- tokenEvents.first.getPangeaContent <PangeaMessageTokens >();
107
+ PangeaMessageTokens ? storedTokens;
108
+ for (final tokenEvent in tokenEvents) {
109
+ final tokenPangeaEvent =
110
+ tokenEvent.getPangeaContent <PangeaMessageTokens >();
111
+ if (PangeaToken .reconstructText (tokenPangeaEvent.tokens) != text) {
112
+ Sentry .addBreadcrumb (
113
+ Breadcrumb (
114
+ message: 'Stored tokens do not match text for representation' ,
115
+ data: {
116
+ 'text' : text,
117
+ 'tokens' : tokenPangeaEvent.tokens,
118
+ },
119
+ ),
120
+ );
121
+ continue ;
122
+ }
123
+ storedTokens = tokenPangeaEvent;
124
+ break ;
125
+ }
107
126
108
- if (PangeaToken . reconstructText ( storedTokens.tokens) != text ) {
127
+ if (storedTokens == null ) {
109
128
ErrorHandler .logError (
110
- m: 'Stored tokens do not match text for representation' ,
111
- s: StackTrace .current,
129
+ e: "No tokens found for representation" ,
112
130
data: {
113
- 'text' : text,
114
- 'tokens' : storedTokens.tokens,
131
+ "event" : _event? .toJson (),
115
132
},
116
133
);
117
134
return null ;
0 commit comments