@@ -6,7 +6,7 @@ use std::{
6
6
time:: Duration ,
7
7
} ;
8
8
9
- use anyhow:: anyhow;
9
+ use anyhow:: { anyhow, Context } ;
10
10
use futures_util:: pin_mut;
11
11
#[ cfg( not( any( target_family = "wasm" , feature = "js" ) ) ) ]
12
12
use matrix_sdk:: media:: MediaFileHandle as SdkMediaFileHandle ;
@@ -299,8 +299,7 @@ impl Client {
299
299
let session_delegate = session_delegate. clone ( ) ;
300
300
Box :: new ( move |client| {
301
301
let session_delegate = session_delegate. clone ( ) ;
302
- let user_id =
303
- client. user_id ( ) . ok_or_else ( || anyhow ! ( "user isn't logged in" ) ) ?;
302
+ let user_id = client. user_id ( ) . context ( "user isn't logged in" ) ?;
304
303
Ok ( Self :: retrieve_session ( session_delegate, user_id) ?)
305
304
} )
306
305
} ,
@@ -875,23 +874,19 @@ impl Client {
875
874
}
876
875
877
876
pub fn user_id ( & self ) -> Result < String , ClientError > {
878
- let user_id = self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
877
+ let user_id = self . inner . user_id ( ) . context ( "No User ID found" ) ?;
879
878
Ok ( user_id. to_string ( ) )
880
879
}
881
880
882
881
/// The server name part of the current user ID
883
882
pub fn user_id_server_name ( & self ) -> Result < String , ClientError > {
884
- let user_id = self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
883
+ let user_id = self . inner . user_id ( ) . context ( "No User ID found" ) ?;
885
884
Ok ( user_id. server_name ( ) . to_string ( ) )
886
885
}
887
886
888
887
pub async fn display_name ( & self ) -> Result < String , ClientError > {
889
- let display_name = self
890
- . inner
891
- . account ( )
892
- . get_display_name ( )
893
- . await ?
894
- . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
888
+ let display_name =
889
+ self . inner . account ( ) . get_display_name ( ) . await ?. context ( "No User ID found" ) ?;
895
890
Ok ( display_name)
896
891
}
897
892
@@ -929,7 +924,7 @@ impl Client {
929
924
}
930
925
931
926
pub fn device_id ( & self ) -> Result < String , ClientError > {
932
- let device_id = self . inner . device_id ( ) . ok_or_else ( || anyhow ! ( "No Device ID found" ) ) ?;
927
+ let device_id = self . inner . device_id ( ) . context ( "No Device ID found" ) ?;
933
928
Ok ( device_id. to_string ( ) )
934
929
}
935
930
@@ -966,8 +961,7 @@ impl Client {
966
961
data : Vec < u8 > ,
967
962
progress_watcher : Option < Box < dyn ProgressWatcher > > ,
968
963
) -> Result < String , ClientError > {
969
- let mime_type: mime:: Mime =
970
- mime_type. parse ( ) . map_err ( |e| anyhow ! ( "Parsing mime type: {}" , e) ) ?;
964
+ let mime_type: mime:: Mime = mime_type. parse ( ) . context ( "Parsing mime type" ) ?;
971
965
let request = self . inner . media ( ) . upload ( & mime_type, data, None ) ;
972
966
973
967
if let Some ( progress_watcher) = progress_watcher {
@@ -1031,14 +1025,13 @@ impl Client {
1031
1025
{
1032
1026
return Ok ( Arc :: new ( session_verification_controller. clone ( ) ) ) ;
1033
1027
}
1034
- let user_id =
1035
- self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "Failed retrieving current user_id" ) ) ?;
1028
+ let user_id = self . inner . user_id ( ) . context ( "Failed retrieving current user_id" ) ?;
1036
1029
let user_identity = self
1037
1030
. inner
1038
1031
. encryption ( )
1039
1032
. get_user_identity ( user_id)
1040
1033
. await ?
1041
- . ok_or_else ( || anyhow ! ( "Failed retrieving user identity" ) ) ?;
1034
+ . context ( "Failed retrieving user identity" ) ?;
1042
1035
1043
1036
let session_verification_controller = SessionVerificationController :: new (
1044
1037
self . inner . encryption ( ) ,
@@ -1334,14 +1327,13 @@ impl Client {
1334
1327
room_id : String ,
1335
1328
via_servers : Vec < String > ,
1336
1329
) -> Result < Arc < RoomPreview > , ClientError > {
1337
- let room_id = RoomId :: parse ( & room_id)
1338
- . map_err ( |e| anyhow ! ( "room_id is not a valid room id: {}" , e) ) ?;
1330
+ let room_id = RoomId :: parse ( & room_id) . context ( "room_id is not a valid room id" ) ?;
1339
1331
1340
1332
let via_servers = via_servers
1341
1333
. into_iter ( )
1342
1334
. map ( ServerName :: parse)
1343
1335
. collect :: < Result < Vec < _ > , _ > > ( )
1344
- . map_err ( |e| anyhow ! ( "at least one `via` server name is invalid: {}" , e ) ) ?;
1336
+ . context ( "at least one `via` server name is invalid" ) ?;
1345
1337
1346
1338
// The `into()` call below doesn't work if I do `(&room_id).into()`, so I let
1347
1339
// rustc win that one fight.
@@ -1357,8 +1349,8 @@ impl Client {
1357
1349
& self ,
1358
1350
room_alias : String ,
1359
1351
) -> Result < Arc < RoomPreview > , ClientError > {
1360
- let room_alias = RoomAliasId :: parse ( & room_alias )
1361
- . map_err ( |e| anyhow ! ( "room_alias is not a valid room alias: {}" , e ) ) ?;
1352
+ let room_alias =
1353
+ RoomAliasId :: parse ( & room_alias ) . context ( "room_alias is not a valid room alias" ) ?;
1362
1354
1363
1355
// The `into()` call below doesn't work if I do `(&room_id).into()`, so I let
1364
1356
// rustc win that one fight.
@@ -1737,7 +1729,7 @@ impl Client {
1737
1729
}
1738
1730
1739
1731
fn session_inner ( client : matrix_sdk:: Client ) -> Result < Session , ClientError > {
1740
- let auth_api = client. auth_api ( ) . ok_or_else ( || anyhow ! ( "Missing authentication API" ) ) ?;
1732
+ let auth_api = client. auth_api ( ) . context ( "Missing authentication API" ) ?;
1741
1733
1742
1734
let homeserver_url = client. homeserver ( ) . into ( ) ;
1743
1735
let sliding_sync_version = client. sliding_sync_version ( ) ;
@@ -2055,7 +2047,7 @@ impl Session {
2055
2047
let matrix_sdk:: authentication:: matrix:: MatrixSession {
2056
2048
meta : matrix_sdk:: SessionMeta { user_id, device_id } ,
2057
2049
tokens : matrix_sdk:: SessionTokens { access_token, refresh_token } ,
2058
- } = a. session ( ) . ok_or_else ( || anyhow ! ( "Missing session" ) ) ?;
2050
+ } = a. session ( ) . context ( "Missing session" ) ?;
2059
2051
2060
2052
Ok ( Session {
2061
2053
access_token,
@@ -2072,9 +2064,8 @@ impl Session {
2072
2064
let matrix_sdk:: authentication:: oauth:: UserSession {
2073
2065
meta : matrix_sdk:: SessionMeta { user_id, device_id } ,
2074
2066
tokens : matrix_sdk:: SessionTokens { access_token, refresh_token } ,
2075
- } = api. user_session ( ) . ok_or_else ( || anyhow ! ( "Missing session" ) ) ?;
2076
- let client_id =
2077
- api. client_id ( ) . ok_or_else ( || anyhow ! ( "OIDC client ID is missing." ) ) ?. clone ( ) ;
2067
+ } = api. user_session ( ) . context ( "Missing session" ) ?;
2068
+ let client_id = api. client_id ( ) . context ( "OIDC client ID is missing." ) ?. clone ( ) ;
2078
2069
let oidc_data = OidcSessionData { client_id } ;
2079
2070
2080
2071
let oidc_data = serde_json:: to_string ( & oidc_data) . ok ( ) ;
@@ -2204,7 +2195,7 @@ impl MediaFileHandle {
2204
2195
. read ( )
2205
2196
. unwrap ( )
2206
2197
. as_ref ( )
2207
- . ok_or_else ( || anyhow ! ( "MediaFileHandle must not be used after calling persist" ) ) ?
2198
+ . context ( "MediaFileHandle must not be used after calling persist" ) ?
2208
2199
. path ( )
2209
2200
. to_str ( )
2210
2201
. unwrap ( )
@@ -2223,7 +2214,7 @@ impl MediaFileHandle {
2223
2214
return Ok (
2224
2215
match guard
2225
2216
. take ( )
2226
- . ok_or_else ( || anyhow ! ( "MediaFileHandle was already persisted" ) ) ?
2217
+ . context ( "MediaFileHandle was already persisted" ) ?
2227
2218
. persist ( path. as_ref ( ) )
2228
2219
{
2229
2220
Ok ( _) => true ,
0 commit comments