Handle RustDesk ID fallback to reported ID

This commit is contained in:
Esdras Renan 2025-11-27 09:21:32 -03:00
parent 2e735a7df4
commit 0e9310d6e4

View file

@ -215,39 +215,39 @@ pub fn ensure_rustdesk(
"ID retornado difere do determinístico ({expected}) -> reaplicando ID determinístico"
));
let reapplied = match set_custom_id(&exe_path, expected) {
Ok(_) => {
match query_id_with_retries(&exe_path, 3) {
let mut enforced = false;
match set_custom_id(&exe_path, expected) {
Ok(_) => match query_id_with_retries(&exe_path, 3) {
Ok(rechecked) => {
if &rechecked == expected {
log_event(&format!("ID determinístico aplicado com sucesso: {rechecked}"));
final_id = rechecked;
true
enforced = true;
} else {
log_event(&format!(
"ID ainda difere após reaplicação (esperado {expected}, reportado {rechecked}); forçando persistência do determinístico nos perfis"
"ID ainda difere após reaplicação (esperado {expected}, reportado {rechecked}); usando ID reportado"
));
false
final_id = rechecked;
}
}
Err(error) => {
log_event(&format!(
"Falha ao consultar ID após reaplicação: {error}; forçando persistência do determinístico nos perfis"
"Falha ao consultar ID após reaplicação: {error}; usando ID reportado ({reported_id})"
));
false
}
}
final_id = reported_id.clone();
}
},
Err(error) => {
log_event(&format!(
"Falha ao reaplicar ID determinístico ({expected}): {error}; persistindo determinístico nos perfis mesmo assim"
"Falha ao reaplicar ID determinístico ({expected}): {error}; usando ID reportado ({reported_id})"
));
false
final_id = reported_id.clone();
}
}
};
if !reapplied {
final_id = expected.clone();
if !enforced && final_id != *expected {
log_event("Aviso: não foi possível aplicar o ID determinístico; manteremos o ID real fornecido pelo serviço");
}
}
}