@@ -14,7 +14,7 @@ use ruma::{
14
14
call:: { invite:: SyncCallInviteEvent , notify:: SyncCallNotifyEvent } ,
15
15
relation:: RelationType ,
16
16
} ,
17
- MilliSecondsSinceUnixEpoch , MxcUri , OwnedEventId ,
17
+ MxcUri , OwnedEventId ,
18
18
} ;
19
19
use serde:: { Deserialize , Serialize } ;
20
20
@@ -129,16 +129,6 @@ pub struct LatestEvent {
129
129
/// The actual event.
130
130
event : SyncTimelineEvent ,
131
131
132
- /// A copy of `Self::event::event::origin_server_ts`.
133
- ///
134
- /// This information can potentially be requested multiple times. Keeping a
135
- /// copy here avoid to parse `Self::event::event` which is a `Raw<_>`.
136
- ///
137
- /// We `skip_serializing` instead of `skip` because deserializing is handled
138
- /// by the custom `Deserialize` for `LatestEvent`.
139
- #[ serde( skip_serializing) ]
140
- cached_event_origin_server_ts : MilliSecondsSinceUnixEpoch ,
141
-
142
132
/// The member profile of the event' sender.
143
133
#[ serde( skip_serializing_if = "Option::is_none" ) ]
144
134
sender_profile : Option < MinimalRoomMemberEvent > ,
@@ -175,11 +165,8 @@ impl<'de> Deserialize<'de> for LatestEvent {
175
165
176
166
match serde_json:: from_str :: < SerializedLatestEvent > ( raw. get ( ) ) {
177
167
Ok ( value) => {
178
- let cached_event_origin_server_ts = extract_origin_server_ts ( & value. event ) ;
179
-
180
168
return Ok ( LatestEvent {
181
169
event : value. event ,
182
- cached_event_origin_server_ts,
183
170
sender_profile : value. sender_profile ,
184
171
sender_name_is_ambiguous : value. sender_name_is_ambiguous ,
185
172
} ) ;
@@ -189,11 +176,8 @@ impl<'de> Deserialize<'de> for LatestEvent {
189
176
190
177
match serde_json:: from_str :: < SyncTimelineEvent > ( raw. get ( ) ) {
191
178
Ok ( value) => {
192
- let cached_event_origin_server_ts = extract_origin_server_ts ( & value) ;
193
-
194
179
return Ok ( LatestEvent {
195
180
event : value,
196
- cached_event_origin_server_ts,
197
181
sender_profile : None ,
198
182
sender_name_is_ambiguous : None ,
199
183
} ) ;
@@ -210,14 +194,7 @@ impl<'de> Deserialize<'de> for LatestEvent {
210
194
impl LatestEvent {
211
195
/// Create a new [`LatestEvent`] without the sender's profile.
212
196
pub fn new ( event : SyncTimelineEvent ) -> Self {
213
- let cached_event_origin_server_ts = extract_origin_server_ts ( & event) ;
214
-
215
- Self {
216
- event,
217
- cached_event_origin_server_ts,
218
- sender_profile : None ,
219
- sender_name_is_ambiguous : None ,
220
- }
197
+ Self { event, sender_profile : None , sender_name_is_ambiguous : None }
221
198
}
222
199
223
200
/// Create a new [`LatestEvent`] with maybe the sender's profile.
@@ -226,9 +203,7 @@ impl LatestEvent {
226
203
sender_profile : Option < MinimalRoomMemberEvent > ,
227
204
sender_name_is_ambiguous : Option < bool > ,
228
205
) -> Self {
229
- let cached_event_origin_server_ts = extract_origin_server_ts ( & event) ;
230
-
231
- Self { event, cached_event_origin_server_ts, sender_profile, sender_name_is_ambiguous }
206
+ Self { event, sender_profile, sender_name_is_ambiguous }
232
207
}
233
208
234
209
/// Transform [`Self`] into an event.
@@ -251,11 +226,6 @@ impl LatestEvent {
251
226
self . event . event_id ( )
252
227
}
253
228
254
- /// Get the `origin_server_ts` of this latest event.
255
- pub fn event_origin_server_ts ( & self ) -> MilliSecondsSinceUnixEpoch {
256
- self . cached_event_origin_server_ts
257
- }
258
-
259
229
/// Check whether [`Self`] has a sender profile.
260
230
pub fn has_sender_profile ( & self ) -> bool {
261
231
self . sender_profile . is_some ( )
@@ -285,15 +255,6 @@ impl LatestEvent {
285
255
}
286
256
}
287
257
288
- fn extract_origin_server_ts ( event : & SyncTimelineEvent ) -> MilliSecondsSinceUnixEpoch {
289
- event
290
- . event
291
- . get_field :: < MilliSecondsSinceUnixEpoch > ( "origin_server_ts" )
292
- . ok ( )
293
- . flatten ( )
294
- . unwrap_or_else ( || MilliSecondsSinceUnixEpoch ( 0u8 . into ( ) ) )
295
- }
296
-
297
258
#[ cfg( test) ]
298
259
mod tests {
299
260
use std:: collections:: BTreeMap ;
@@ -559,7 +520,6 @@ mod tests {
559
520
let initial = TestStruct {
560
521
latest_event : LatestEvent {
561
522
event : event. clone ( ) ,
562
- cached_event_origin_server_ts : MilliSecondsSinceUnixEpoch ( 0u8 . into ( ) ) ,
563
523
sender_profile : None ,
564
524
sender_name_is_ambiguous : None ,
565
525
} ,
0 commit comments