@@ -28,7 +28,8 @@ use events::sort_positions_descending;
28
28
use eyeball:: SharedObservable ;
29
29
use eyeball_im:: VectorDiff ;
30
30
use matrix_sdk_base:: {
31
- deserialized_responses:: { AmbiguityChange , TimelineEvent } ,
31
+ deserialized_responses:: AmbiguityChange ,
32
+ event_cache:: Event ,
32
33
linked_chunk:: Position ,
33
34
sync:: { JoinedRoomUpdate , LeftRoomUpdate , Timeline } ,
34
35
} ;
@@ -162,7 +163,7 @@ impl RoomEventCache {
162
163
///
163
164
/// Use [`RoomEventCache::subscribe`] to get all current events, plus a
164
165
/// listener/subscriber.
165
- pub async fn events ( & self ) -> Vec < TimelineEvent > {
166
+ pub async fn events ( & self ) -> Vec < Event > {
166
167
let state = self . inner . state . read ( ) . await ;
167
168
168
169
state. events ( ) . events ( ) . map ( |( _position, item) | item. clone ( ) ) . collect ( )
@@ -174,7 +175,7 @@ impl RoomEventCache {
174
175
/// Use [`RoomEventCache::events`] to get all current events without the
175
176
/// listener/subscriber. Creating, and especially dropping, a
176
177
/// [`RoomEventCacheListener`] isn't free.
177
- pub async fn subscribe ( & self ) -> ( Vec < TimelineEvent > , RoomEventCacheListener ) {
178
+ pub async fn subscribe ( & self ) -> ( Vec < Event > , RoomEventCacheListener ) {
178
179
let state = self . inner . state . read ( ) . await ;
179
180
let events = state. events ( ) . events ( ) . map ( |( _position, item) | item. clone ( ) ) . collect ( ) ;
180
181
@@ -199,7 +200,7 @@ impl RoomEventCache {
199
200
}
200
201
201
202
/// Try to find an event by id in this room.
202
- pub async fn event ( & self , event_id : & EventId ) -> Option < TimelineEvent > {
203
+ pub async fn event ( & self , event_id : & EventId ) -> Option < Event > {
203
204
self . inner
204
205
. state
205
206
. read ( )
@@ -219,7 +220,7 @@ impl RoomEventCache {
219
220
& self ,
220
221
event_id : & EventId ,
221
222
filter : Option < Vec < RelationType > > ,
222
- ) -> Option < ( TimelineEvent , Vec < TimelineEvent > ) > {
223
+ ) -> Option < ( Event , Vec < Event > ) > {
223
224
// Search in all loaded or stored events.
224
225
self . inner
225
226
. state
@@ -250,7 +251,7 @@ impl RoomEventCache {
250
251
251
252
/// Save some events in the event cache, for further retrieval with
252
253
/// [`Self::event`].
253
- pub ( crate ) async fn save_events ( & self , events : impl IntoIterator < Item = TimelineEvent > ) {
254
+ pub ( crate ) async fn save_events ( & self , events : impl IntoIterator < Item = Event > ) {
254
255
if let Err ( err) = self . inner . state . write ( ) . await . save_event ( events) . await {
255
256
warn ! ( "couldn't save event in the event cache: {err}" ) ;
256
257
}
@@ -434,11 +435,7 @@ pub(super) enum LoadMoreEventsBackwardsOutcome {
434
435
StartOfTimeline ,
435
436
436
437
/// Events have been inserted.
437
- Events {
438
- events : Vec < TimelineEvent > ,
439
- timeline_event_diffs : Vec < VectorDiff < TimelineEvent > > ,
440
- reached_start : bool ,
441
- } ,
438
+ Events { events : Vec < Event > , timeline_event_diffs : Vec < VectorDiff < Event > > , reached_start : bool } ,
442
439
443
440
/// The caller must wait for the initial previous-batch token, and retry.
444
441
WaitForInitialPrevToken ,
@@ -455,9 +452,7 @@ mod private {
455
452
use eyeball_im:: VectorDiff ;
456
453
use matrix_sdk_base:: {
457
454
apply_redaction,
458
- deserialized_responses:: {
459
- ThreadSummary , ThreadSummaryStatus , TimelineEvent , TimelineEventKind ,
460
- } ,
455
+ deserialized_responses:: { ThreadSummary , ThreadSummaryStatus , TimelineEventKind } ,
461
456
event_cache:: { store:: EventCacheStoreLock , Event , Gap } ,
462
457
linked_chunk:: {
463
458
lazy_loader, ChunkContent , ChunkIdentifier , ChunkIdentifierGenerator , LinkedChunkId ,
@@ -782,7 +777,7 @@ mod private {
782
777
#[ must_use = "Propagate `VectorDiff` updates via `RoomEventCacheUpdate`" ]
783
778
pub ( crate ) async fn auto_shrink_if_no_listeners (
784
779
& mut self ,
785
- ) -> Result < Option < Vec < VectorDiff < TimelineEvent > > > , EventCacheError > {
780
+ ) -> Result < Option < Vec < VectorDiff < Event > > > , EventCacheError > {
786
781
let listener_count = self . listener_count . load ( std:: sync:: atomic:: Ordering :: SeqCst ) ;
787
782
788
783
trace ! ( listener_count, "received request to auto-shrink" ) ;
@@ -800,7 +795,7 @@ mod private {
800
795
#[ cfg( test) ]
801
796
pub ( crate ) async fn force_shrink_to_last_chunk (
802
797
& mut self ,
803
- ) -> Result < Vec < VectorDiff < TimelineEvent > > , EventCacheError > {
798
+ ) -> Result < Vec < VectorDiff < Event > > , EventCacheError > {
804
799
self . shrink_to_last_chunk ( ) . await ?;
805
800
Ok ( self . events . updates_as_vector_diffs ( ) )
806
801
}
@@ -824,7 +819,7 @@ mod private {
824
819
let _ = closure ( ) ;
825
820
}
826
821
827
- fn strip_relations_from_event ( ev : & mut TimelineEvent ) {
822
+ fn strip_relations_from_event ( ev : & mut Event ) {
828
823
match & mut ev. kind {
829
824
TimelineEventKind :: Decrypted ( decrypted) => {
830
825
// Remove all information about encryption info for
@@ -843,7 +838,7 @@ mod private {
843
838
}
844
839
845
840
/// Strips the bundled relations from a collection of events.
846
- fn strip_relations_from_events ( items : & mut [ TimelineEvent ] ) {
841
+ fn strip_relations_from_events ( items : & mut [ Event ] ) {
847
842
for ev in items. iter_mut ( ) {
848
843
Self :: strip_relations_from_event ( ev) ;
849
844
}
@@ -902,7 +897,7 @@ mod private {
902
897
903
898
async fn send_updates_to_store (
904
899
& mut self ,
905
- mut updates : Vec < Update < TimelineEvent , Gap > > ,
900
+ mut updates : Vec < Update < Event , Gap > > ,
906
901
) -> Result < ( ) , EventCacheError > {
907
902
if updates. is_empty ( ) {
908
903
return Ok ( ( ) ) ;
@@ -956,7 +951,7 @@ mod private {
956
951
/// result, the caller may override any pending diff updates
957
952
/// with the result of this function.
958
953
#[ must_use = "Propagate `VectorDiff` updates via `RoomEventCacheUpdate`" ]
959
- pub async fn reset ( & mut self ) -> Result < Vec < VectorDiff < TimelineEvent > > , EventCacheError > {
954
+ pub async fn reset ( & mut self ) -> Result < Vec < VectorDiff < Event > > , EventCacheError > {
960
955
self . reset_internal ( ) . await ?;
961
956
962
957
let diff_updates = self . events . updates_as_vector_diffs ( ) ;
@@ -995,7 +990,7 @@ mod private {
995
990
pub async fn find_event (
996
991
& self ,
997
992
event_id : & EventId ,
998
- ) -> Result < Option < ( EventLocation , TimelineEvent ) > , EventCacheError > {
993
+ ) -> Result < Option < ( EventLocation , Event ) > , EventCacheError > {
999
994
// There are supposedly fewer events loaded in memory than in the store. Let's
1000
995
// start by looking up in the `RoomEvents`.
1001
996
for ( position, event) in self . events . revents ( ) {
@@ -1021,7 +1016,7 @@ mod private {
1021
1016
& self ,
1022
1017
event_id : & EventId ,
1023
1018
filters : Option < Vec < RelationType > > ,
1024
- ) -> Result < Option < ( TimelineEvent , Vec < TimelineEvent > ) > , EventCacheError > {
1019
+ ) -> Result < Option < ( Event , Vec < Event > ) > , EventCacheError > {
1025
1020
let store = self . store . lock ( ) . await ?;
1026
1021
1027
1022
// First, hit storage to get the target event and its related events.
@@ -1070,7 +1065,7 @@ mod private {
1070
1065
/// linked chunk.
1071
1066
async fn post_process_new_events (
1072
1067
& mut self ,
1073
- events : Vec < TimelineEvent > ,
1068
+ events : Vec < Event > ,
1074
1069
is_live_sync : bool ,
1075
1070
) -> Result < ( ) , EventCacheError > {
1076
1071
// Update the store before doing the post-processing.
@@ -1170,7 +1165,7 @@ mod private {
1170
1165
async fn replace_event_at (
1171
1166
& mut self ,
1172
1167
location : EventLocation ,
1173
- event : TimelineEvent ,
1168
+ event : Event ,
1174
1169
) -> Result < ( ) , EventCacheError > {
1175
1170
match location {
1176
1171
EventLocation :: Memory ( position) => {
@@ -1268,7 +1263,7 @@ mod private {
1268
1263
/// the event. Instead, an update to the linked chunk must be used.
1269
1264
pub async fn save_event (
1270
1265
& self ,
1271
- events : impl IntoIterator < Item = TimelineEvent > ,
1266
+ events : impl IntoIterator < Item = Event > ,
1272
1267
) -> Result < ( ) , EventCacheError > {
1273
1268
let store = self . store . clone ( ) ;
1274
1269
let room_id = self . room . clone ( ) ;
@@ -1299,7 +1294,7 @@ mod private {
1299
1294
pub async fn handle_sync (
1300
1295
& mut self ,
1301
1296
mut timeline : Timeline ,
1302
- ) -> Result < ( bool , Vec < VectorDiff < TimelineEvent > > ) , EventCacheError > {
1297
+ ) -> Result < ( bool , Vec < VectorDiff < Event > > ) , EventCacheError > {
1303
1298
let mut prev_batch = timeline. prev_batch . take ( ) ;
1304
1299
1305
1300
let (
@@ -1386,11 +1381,10 @@ mod private {
1386
1381
#[ must_use = "Propagate `VectorDiff` updates via `RoomEventCacheUpdate`" ]
1387
1382
pub async fn handle_backpagination (
1388
1383
& mut self ,
1389
- events : Vec < TimelineEvent > ,
1384
+ events : Vec < Event > ,
1390
1385
mut new_gap : Option < Gap > ,
1391
1386
prev_gap_id : Option < ChunkIdentifier > ,
1392
- ) -> Result < ( BackPaginationOutcome , Vec < VectorDiff < TimelineEvent > > ) , EventCacheError >
1393
- {
1387
+ ) -> Result < ( BackPaginationOutcome , Vec < VectorDiff < Event > > ) , EventCacheError > {
1394
1388
// If there's no new gap (previous batch token), then we've reached the start of
1395
1389
// the timeline.
1396
1390
let network_reached_start = new_gap. is_none ( ) ;
@@ -1535,8 +1529,7 @@ pub(super) use private::RoomEventCacheState;
1535
1529
1536
1530
#[ cfg( test) ]
1537
1531
mod tests {
1538
-
1539
- use matrix_sdk_common:: deserialized_responses:: TimelineEvent ;
1532
+ use matrix_sdk_base:: event_cache:: Event ;
1540
1533
use matrix_sdk_test:: { async_test, event_factory:: EventFactory } ;
1541
1534
use ruma:: {
1542
1535
event_id,
@@ -1749,8 +1742,8 @@ mod tests {
1749
1742
1750
1743
async fn assert_relations (
1751
1744
room_id : & RoomId ,
1752
- original_event : TimelineEvent ,
1753
- related_event : TimelineEvent ,
1745
+ original_event : Event ,
1746
+ related_event : Event ,
1754
1747
event_factory : EventFactory ,
1755
1748
) {
1756
1749
let client = logged_in_client ( None ) . await ;
0 commit comments