@@ -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 ;
@@ -301,8 +301,7 @@ impl Client {
301
301
let session_delegate = session_delegate. clone ( ) ;
302
302
Box :: new ( move |client| {
303
303
let session_delegate = session_delegate. clone ( ) ;
304
- let user_id =
305
- client. user_id ( ) . ok_or_else ( || anyhow ! ( "user isn't logged in" ) ) ?;
304
+ let user_id = client. user_id ( ) . context ( "user isn't logged in" ) ?;
306
305
Ok ( Self :: retrieve_session ( session_delegate, user_id) ?)
307
306
} )
308
307
} ,
@@ -877,23 +876,19 @@ impl Client {
877
876
}
878
877
879
878
pub fn user_id ( & self ) -> Result < String , ClientError > {
880
- let user_id = self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
879
+ let user_id = self . inner . user_id ( ) . context ( "No User ID found" ) ?;
881
880
Ok ( user_id. to_string ( ) )
882
881
}
883
882
884
883
/// The server name part of the current user ID
885
884
pub fn user_id_server_name ( & self ) -> Result < String , ClientError > {
886
- let user_id = self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
885
+ let user_id = self . inner . user_id ( ) . context ( "No User ID found" ) ?;
887
886
Ok ( user_id. server_name ( ) . to_string ( ) )
888
887
}
889
888
890
889
pub async fn display_name ( & self ) -> Result < String , ClientError > {
891
- let display_name = self
892
- . inner
893
- . account ( )
894
- . get_display_name ( )
895
- . await ?
896
- . ok_or_else ( || anyhow ! ( "No User ID found" ) ) ?;
890
+ let display_name =
891
+ self . inner . account ( ) . get_display_name ( ) . await ?. context ( "No User ID found" ) ?;
897
892
Ok ( display_name)
898
893
}
899
894
@@ -931,7 +926,7 @@ impl Client {
931
926
}
932
927
933
928
pub fn device_id ( & self ) -> Result < String , ClientError > {
934
- let device_id = self . inner . device_id ( ) . ok_or_else ( || anyhow ! ( "No Device ID found" ) ) ?;
929
+ let device_id = self . inner . device_id ( ) . context ( "No Device ID found" ) ?;
935
930
Ok ( device_id. to_string ( ) )
936
931
}
937
932
@@ -968,8 +963,7 @@ impl Client {
968
963
data : Vec < u8 > ,
969
964
progress_watcher : Option < Box < dyn ProgressWatcher > > ,
970
965
) -> Result < String , ClientError > {
971
- let mime_type: mime:: Mime =
972
- mime_type. parse ( ) . map_err ( |e| anyhow ! ( "Parsing mime type: {}" , e) ) ?;
966
+ let mime_type: mime:: Mime = mime_type. parse ( ) . context ( "Parsing mime type" ) ?;
973
967
let request = self . inner . media ( ) . upload ( & mime_type, data, None ) ;
974
968
975
969
if let Some ( progress_watcher) = progress_watcher {
@@ -1033,14 +1027,13 @@ impl Client {
1033
1027
{
1034
1028
return Ok ( Arc :: new ( session_verification_controller. clone ( ) ) ) ;
1035
1029
}
1036
- let user_id =
1037
- self . inner . user_id ( ) . ok_or_else ( || anyhow ! ( "Failed retrieving current user_id" ) ) ?;
1030
+ let user_id = self . inner . user_id ( ) . context ( "Failed retrieving current user_id" ) ?;
1038
1031
let user_identity = self
1039
1032
. inner
1040
1033
. encryption ( )
1041
1034
. get_user_identity ( user_id)
1042
1035
. await ?
1043
- . ok_or_else ( || anyhow ! ( "Failed retrieving user identity" ) ) ?;
1036
+ . context ( "Failed retrieving user identity" ) ?;
1044
1037
1045
1038
let session_verification_controller = SessionVerificationController :: new (
1046
1039
self . inner . encryption ( ) ,
@@ -1336,14 +1329,13 @@ impl Client {
1336
1329
room_id : String ,
1337
1330
via_servers : Vec < String > ,
1338
1331
) -> Result < Arc < RoomPreview > , ClientError > {
1339
- let room_id = RoomId :: parse ( & room_id)
1340
- . map_err ( |e| anyhow ! ( "room_id is not a valid room id: {}" , e) ) ?;
1332
+ let room_id = RoomId :: parse ( & room_id) . context ( "room_id is not a valid room id" ) ?;
1341
1333
1342
1334
let via_servers = via_servers
1343
1335
. into_iter ( )
1344
1336
. map ( ServerName :: parse)
1345
1337
. collect :: < Result < Vec < _ > , _ > > ( )
1346
- . map_err ( |e| anyhow ! ( "at least one `via` server name is invalid: {}" , e ) ) ?;
1338
+ . context ( "at least one `via` server name is invalid" ) ?;
1347
1339
1348
1340
// The `into()` call below doesn't work if I do `(&room_id).into()`, so I let
1349
1341
// rustc win that one fight.
@@ -1359,8 +1351,8 @@ impl Client {
1359
1351
& self ,
1360
1352
room_alias : String ,
1361
1353
) -> Result < Arc < RoomPreview > , ClientError > {
1362
- let room_alias = RoomAliasId :: parse ( & room_alias )
1363
- . map_err ( |e| anyhow ! ( "room_alias is not a valid room alias: {}" , e ) ) ?;
1354
+ let room_alias =
1355
+ RoomAliasId :: parse ( & room_alias ) . context ( "room_alias is not a valid room alias" ) ?;
1364
1356
1365
1357
// The `into()` call below doesn't work if I do `(&room_id).into()`, so I let
1366
1358
// 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