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
|
.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();
|
.collect();
|
||||||
|
|
||||||
while let Some((server, response)) = futures.next().await {
|
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 {
|
for (user, masterkey) in response.master_keys {
|
||||||
let (master_key_id, mut master_key) =
|
let (master_key_id, mut master_key) =
|
||||||
services().users.parse_master_key(&user, &masterkey)?;
|
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);
|
self_signing_keys.extend(response.self_signing_keys);
|
||||||
device_keys.extend(response.device_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 {
|
Ok(get_keys::v3::Response {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue