@@ -28,7 +28,6 @@ use matrix_sdk::{
28
28
deserialized_responses:: { ShieldState as SdkShieldState , ShieldStateCode } ,
29
29
event_cache:: RoomPaginationStatus ,
30
30
room:: edit:: EditedContent as SdkEditedContent ,
31
- Error ,
32
31
} ;
33
32
use matrix_sdk_ui:: timeline:: {
34
33
self , EventItemOrigin , Profile , RepliedToEvent , TimelineDetails ,
@@ -671,19 +670,12 @@ impl Timeline {
671
670
) -> Result < Arc < InReplyToDetails > , ClientError > {
672
671
let event_id = EventId :: parse ( & event_id_str) ?;
673
672
674
- let replied_to: Result < RepliedToEvent , Error > =
675
- if let Some ( event) = self . inner . item_by_event_id ( & event_id) . await {
676
- Ok ( RepliedToEvent :: from_timeline_item ( & event) )
677
- } else {
678
- match self . inner . room ( ) . event ( & event_id, None ) . await {
679
- Ok ( timeline_event) => Ok ( RepliedToEvent :: try_from_timeline_event_for_room (
680
- timeline_event,
681
- self . inner . room ( ) ,
682
- )
683
- . await ?) ,
684
- Err ( e) => Err ( e) ,
685
- }
686
- } ;
673
+ let replied_to = match self . inner . room ( ) . load_or_fetch_event ( & event_id, None ) . await {
674
+ Ok ( event) => RepliedToEvent :: try_from_timeline_event_for_room ( event, self . inner . room ( ) )
675
+ . await
676
+ . map_err ( ClientError :: from) ,
677
+ Err ( e) => Err ( ClientError :: from ( e) ) ,
678
+ } ;
687
679
688
680
match replied_to {
689
681
Ok ( replied_to) => Ok ( Arc :: new ( InReplyToDetails :: new (
0 commit comments