@@ -558,7 +558,7 @@ impl TimelineInnerStateTransaction<'_> {
558558 read_receipts : if settings. track_read_receipts && should_add {
559559 self . meta . read_receipts . compute_event_receipts (
560560 & event_id,
561- & self . all_events ,
561+ & self . meta . all_events ,
562562 matches ! ( position, TimelineItemPosition :: End { .. } ) ,
563563 )
564564 } else {
@@ -607,25 +607,25 @@ impl TimelineInnerStateTransaction<'_> {
607607 self . items . clear ( ) ;
608608 }
609609
610- self . all_events . clear ( ) ;
611- self . read_receipts . clear ( ) ;
612- self . reactions . clear ( ) ;
613- self . fully_read_event = None ;
610+ self . meta . all_events . clear ( ) ;
611+ self . meta . read_receipts . clear ( ) ;
612+ self . meta . reactions . clear ( ) ;
613+ self . meta . fully_read_event = None ;
614614 // We forgot about the fully read marker right above, so wait for a new one
615615 // before attempting to update it for each new timeline item.
616- self . has_up_to_date_read_marker_item = true ;
616+ self . meta . has_up_to_date_read_marker_item = true ;
617617
618618 debug ! ( remaining_items = self . items. len( ) , "Timeline cleared" ) ;
619619 }
620620
621621 #[ instrument( skip_all) ]
622622 fn set_fully_read_event ( & mut self , fully_read_event_id : OwnedEventId ) {
623623 // A similar event has been handled already. We can ignore it.
624- if self . fully_read_event . as_ref ( ) . is_some_and ( |id| * id == fully_read_event_id) {
624+ if self . meta . fully_read_event . as_ref ( ) . is_some_and ( |id| * id == fully_read_event_id) {
625625 return ;
626626 }
627627
628- self . fully_read_event = Some ( fully_read_event_id) ;
628+ self . meta . fully_read_event = Some ( fully_read_event_id) ;
629629 self . meta . update_read_marker ( & mut self . items ) ;
630630 }
631631
@@ -651,21 +651,21 @@ impl TimelineInnerStateTransaction<'_> {
651651 settings : & TimelineInnerSettings ,
652652 ) {
653653 match position {
654- TimelineItemPosition :: Start => self . all_events . push_front ( event_meta. base_meta ( ) ) ,
654+ TimelineItemPosition :: Start => self . meta . all_events . push_front ( event_meta. base_meta ( ) ) ,
655655 TimelineItemPosition :: End { .. } => {
656656 // Handle duplicated event.
657657 if let Some ( pos) =
658- self . all_events . iter ( ) . position ( |ev| ev. event_id == event_meta. event_id )
658+ self . meta . all_events . iter ( ) . position ( |ev| ev. event_id == event_meta. event_id )
659659 {
660- self . all_events . remove ( pos) ;
660+ self . meta . all_events . remove ( pos) ;
661661 }
662662
663- self . all_events . push_back ( event_meta. base_meta ( ) ) ;
663+ self . meta . all_events . push_back ( event_meta. base_meta ( ) ) ;
664664 }
665665 #[ cfg( feature = "e2e-encryption" ) ]
666666 TimelineItemPosition :: Update ( _) => {
667667 if let Some ( event) =
668- self . all_events . iter_mut ( ) . find ( |e| e. event_id == event_meta. event_id )
668+ self . meta . all_events . iter_mut ( ) . find ( |e| e. event_id == event_meta. event_id )
669669 {
670670 if event. visible != event_meta. visible {
671671 event. visible = event_meta. visible ;
@@ -701,20 +701,6 @@ impl Drop for TimelineInnerStateTransaction<'_> {
701701 }
702702}
703703
704- impl Deref for TimelineInnerStateTransaction < ' _ > {
705- type Target = TimelineInnerMetadata ;
706-
707- fn deref ( & self ) -> & Self :: Target {
708- self . meta
709- }
710- }
711-
712- impl DerefMut for TimelineInnerStateTransaction < ' _ > {
713- fn deref_mut ( & mut self ) -> & mut Self :: Target {
714- self . meta
715- }
716- }
717-
718704#[ derive( Debug ) ]
719705pub ( in crate :: timeline) struct TimelineInnerMetadata {
720706 /// List of all the events as received in the timeline, even the ones that
0 commit comments