fix(desktop): corrige autostart do Raven no Windows
This commit is contained in:
parent
8cf13c43de
commit
2f9cd56153
2 changed files with 29 additions and 29 deletions
|
|
@ -17,7 +17,7 @@ fn main() {
|
|||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
|
|
|||
|
|
@ -478,8 +478,14 @@ pub fn run() {
|
|||
|
||||
#[cfg(target_os = "windows")]
|
||||
{
|
||||
let start_in_background = std::env::args().any(|arg| arg == "--background");
|
||||
setup_raven_autostart();
|
||||
setup_tray(&app.handle())?;
|
||||
if start_in_background {
|
||||
if let Some(win) = app.get_webview_window("main") {
|
||||
let _ = win.hide();
|
||||
}
|
||||
}
|
||||
|
||||
// Tenta iniciar o agente e chat em background se houver credenciais salvas
|
||||
let app_handle = app.handle().clone();
|
||||
|
|
@ -541,38 +547,32 @@ fn setup_raven_autostart() {
|
|||
|
||||
let hkcu = RegKey::predef(HKEY_CURRENT_USER);
|
||||
|
||||
match hkcu.open_subkey_with_flags(
|
||||
r"Software\Microsoft\Windows\CurrentVersion\Run",
|
||||
KEY_SET_VALUE | KEY_READ,
|
||||
) {
|
||||
Ok(key) => {
|
||||
match key.set_value("Raven", &value) {
|
||||
Ok(()) => {
|
||||
log_info!("Auto-start configurado: {value}");
|
||||
let key = match hkcu.create_subkey(r"Software\Microsoft\Windows\CurrentVersion\Run") {
|
||||
Ok((key, _)) => key,
|
||||
Err(e) => {
|
||||
log_error!("Falha ao criar/abrir chave de registro Run: {e}");
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
// Valida que foi salvo corretamente
|
||||
match key.get_value::<String, _>("Raven") {
|
||||
Ok(saved) => {
|
||||
if saved == value {
|
||||
log_info!("Auto-start validado: entrada existe no registro");
|
||||
} else {
|
||||
log_warn!(
|
||||
"Auto-start: valor difere. Esperado: {value}, Salvo: {saved}"
|
||||
);
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
log_warn!("Auto-start: nao foi possivel validar entrada: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
log_error!("Falha ao definir valor de auto-start no registro: {e}");
|
||||
}
|
||||
if let Err(e) = key.set_value("Raven", &value) {
|
||||
log_error!("Falha ao definir valor de auto-start no registro: {e}");
|
||||
return;
|
||||
}
|
||||
|
||||
log_info!("Auto-start configurado: {value}");
|
||||
|
||||
// Valida que foi salvo corretamente
|
||||
match key.get_value::<String, _>("Raven") {
|
||||
Ok(saved) => {
|
||||
if saved == value {
|
||||
log_info!("Auto-start validado: entrada existe no registro");
|
||||
} else {
|
||||
log_warn!("Auto-start: valor difere. Esperado: {value}, Salvo: {saved}");
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
log_error!("Falha ao abrir chave de registro Run: {e}");
|
||||
log_warn!("Auto-start: nao foi possivel validar entrada: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue