mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 07:41:23 +01:00
log failed remote device key requests
This commit is contained in:
parent
827f670c54
commit
1551833501
1 changed files with 40 additions and 33 deletions
|
|
@ -440,13 +440,25 @@ pub(crate) async fn get_keys_helper<F: Fn(&UserId) -> bool>(
|
|||
),
|
||||
)
|
||||
.await
|
||||
.map_err(|_e| Error::BadServerResponse("Query took too long")),
|
||||
.map_err(|_e| Error::BadServerResponse("Query took too long"))
|
||||
// TODO: switch to .flatten() when stable
|
||||
// <https://github.com/rust-lang/rust/issues/70142>
|
||||
.and_then(|result| result),
|
||||
)
|
||||
})
|
||||
.collect();
|
||||
|
||||
while let Some((server, response)) = futures.next().await {
|
||||
if let Ok(Ok(response)) = response {
|
||||
let response = match response {
|
||||
Ok(response) => response,
|
||||
Err(error) => {
|
||||
back_off(server.to_owned()).await;
|
||||
debug!(%server, %error, "remote device key query failed");
|
||||
failures.insert(server.to_string(), json!({}));
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
for (user, masterkey) in response.master_keys {
|
||||
let (master_key_id, mut master_key) =
|
||||
services().users.parse_master_key(&user, &masterkey)?;
|
||||
|
|
@ -477,11 +489,6 @@ pub(crate) async fn get_keys_helper<F: Fn(&UserId) -> bool>(
|
|||
|
||||
self_signing_keys.extend(response.self_signing_keys);
|
||||
device_keys.extend(response.device_keys);
|
||||
} else {
|
||||
back_off(server.to_owned()).await;
|
||||
|
||||
failures.insert(server.to_string(), json!({}));
|
||||
}
|
||||
}
|
||||
|
||||
Ok(get_keys::v3::Response {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue