@@ -571,41 +571,38 @@ impl ClientBuilder {
571571 oidc_configuration : & OidcConfiguration ,
572572 progress_listener : Box < dyn QrLoginProgressListener > ,
573573 ) -> Result < Arc < Client > , HumanQrLoginError > {
574- if let QrCodeModeData :: Reciprocate { server_name } = & qr_code_data. inner . mode_data {
575- let builder = self . server_name_or_homeserver_url ( server_name. to_owned ( ) ) ;
574+ let QrCodeModeData :: Reciprocate { server_name } = & qr_code_data. inner . mode_data else {
575+ return Err ( HumanQrLoginError :: OtherDeviceNotSignedIn ) ;
576+ } ;
576577
577- let client = builder . build ( ) . await . map_err ( |e| match e {
578- ClientBuildError :: SlidingSyncNotAvailable => {
579- HumanQrLoginError :: SlidingSyncNotAvailable
580- }
581- _ => {
582- error ! ( "Couldn't build the client {e:?}" ) ;
583- HumanQrLoginError :: Unknown
584- }
585- } ) ?;
578+ let builder = self . server_name_or_homeserver_url ( server_name . to_owned ( ) ) ;
579+
580+ let client = builder . build ( ) . await . map_err ( |e| match e {
581+ ClientBuildError :: SlidingSyncNotAvailable => HumanQrLoginError :: SlidingSyncNotAvailable ,
582+ _ => {
583+ error ! ( "Couldn't build the client {e:?}" ) ;
584+ HumanQrLoginError :: Unknown
585+ }
586+ } ) ?;
586587
587- let client_metadata = oidc_configuration
588- . try_into ( )
589- . map_err ( |_| HumanQrLoginError :: OidcMetadataInvalid ) ?;
588+ let client_metadata =
589+ oidc_configuration. try_into ( ) . map_err ( |_| HumanQrLoginError :: OidcMetadataInvalid ) ?;
590590
591- let oidc = client. inner . oidc ( ) ;
592- let login = oidc. login_with_qr_code ( & qr_code_data. inner , client_metadata) ;
591+ let oidc = client. inner . oidc ( ) ;
592+ let login = oidc. login_with_qr_code ( & qr_code_data. inner , client_metadata) ;
593593
594- let mut progress = login. subscribe_to_progress ( ) ;
594+ let mut progress = login. subscribe_to_progress ( ) ;
595595
596- // We create this task, which will get cancelled once it's dropped, just in case
597- // the progress stream doesn't end.
598- let _progress_task = TaskHandle :: new ( RUNTIME . spawn ( async move {
599- while let Some ( state) = progress. next ( ) . await {
600- progress_listener. on_update ( state. into ( ) ) ;
601- }
602- } ) ) ;
596+ // We create this task, which will get cancelled once it's dropped, just in case
597+ // the progress stream doesn't end.
598+ let _progress_task = TaskHandle :: new ( RUNTIME . spawn ( async move {
599+ while let Some ( state) = progress. next ( ) . await {
600+ progress_listener. on_update ( state. into ( ) ) ;
601+ }
602+ } ) ) ;
603603
604- login. await ?;
604+ login. await ?;
605605
606- Ok ( client)
607- } else {
608- Err ( HumanQrLoginError :: OtherDeviceNotSignedIn )
609- }
606+ Ok ( client)
610607 }
611608}
0 commit comments