@@ -176,26 +176,28 @@ impl Room {
176176 display_names : & ' a [ DisplayName ] ,
177177 ) -> StoreResult < MemberRoomInfo < ' a > > {
178178 let max_power_level = self . max_power_level ( ) ;
179- let power_levels = self . power_levels_or_default ( ) ;
179+ let power_levels = async { Ok ( self . power_levels_or_default ( ) . await ) } ;
180180
181181 let users_display_names =
182182 self . store . get_users_with_display_names ( self . room_id ( ) , display_names) ;
183183
184- let raw_ignored_users =
185- self . store . get_account_data_event_static :: < IgnoredUserListEventContent > ( ) ;
186-
187- let ( power_levels, users_display_names, raw_ignored_users) =
188- future:: join3 ( power_levels, users_display_names, raw_ignored_users) . await ;
184+ let ignored_users = async {
185+ Ok ( self
186+ . store
187+ . get_account_data_event_static :: < IgnoredUserListEventContent > ( )
188+ . await ?
189+ . map ( |c| c. deserialize ( ) )
190+ . transpose ( ) ?
191+ . map ( |e| e. content . ignored_users . into_keys ( ) . collect ( ) ) )
192+ } ;
189193
190- let ignored_users = raw_ignored_users?
191- . map ( |c| c. deserialize ( ) )
192- . transpose ( ) ?
193- . map ( |e| e. content . ignored_users . into_keys ( ) . collect ( ) ) ;
194+ let ( power_levels, users_display_names, ignored_users) =
195+ future:: try_join3 ( power_levels, users_display_names, ignored_users) . await ?;
194196
195197 Ok ( MemberRoomInfo {
196198 power_levels : power_levels. into ( ) ,
197199 max_power_level,
198- users_display_names : users_display_names? ,
200+ users_display_names,
199201 ignored_users,
200202 } )
201203 }
0 commit comments