diff --git a/src-tauri/src/api_client.rs b/src-tauri/src/api_client.rs index 2f10e24..07714a6 100644 --- a/src-tauri/src/api_client.rs +++ b/src-tauri/src/api_client.rs @@ -740,7 +740,7 @@ impl ApiClient { // Get platform info to filter appropriate releases let (os, arch) = Self::get_platform_info(); - + // Filter releases that have assets compatible with the current platform let mut filtered_releases: Vec = releases .into_iter() @@ -781,46 +781,35 @@ impl ApiClient { match os { "windows" => { // For Windows, look for standalone setup EXE (not the auto-updater one) - assets - .iter() - .any(|asset| { - let name = asset.name.to_lowercase(); - name.contains("standalone") && name.ends_with(".exe") && !name.contains("silent") - }) - || assets.iter().any(|asset| asset.name.ends_with(".exe")) + assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.contains("standalone") && name.ends_with(".exe") && !name.contains("silent") + }) || assets.iter().any(|asset| asset.name.ends_with(".exe")) } "macos" => { // For macOS, prefer universal DMG - assets - .iter() - .any(|asset| { - let name = asset.name.to_lowercase(); - name.contains("universal") && name.ends_with(".dmg") - }) - || assets.iter().any(|asset| asset.name.ends_with(".dmg")) + assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.contains("universal") && name.ends_with(".dmg") + }) || assets.iter().any(|asset| asset.name.ends_with(".dmg")) } "linux" => { // For Linux, check for architecture-specific packages (prefer ZIP for stable releases) let arch_pattern = if arch == "arm64" { "arm64" } else { "amd64" }; - assets - .iter() - .any(|asset| { - let name = asset.name.to_lowercase(); - name.contains("linux") && name.contains(arch_pattern) && name.ends_with(".zip") - }) - || assets.iter().any(|asset| { - let name = asset.name.to_lowercase(); - name.contains(arch_pattern) && (name.ends_with(".deb") || name.ends_with(".rpm")) - }) - || assets.iter().any(|asset| { - let name = asset.name.to_lowercase(); - name.contains("linux") && name.ends_with(".zip") - }) - || assets.iter().any(|asset| { - let name = asset.name.to_lowercase(); - name.ends_with(".deb") || name.ends_with(".rpm") - }) + assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.contains("linux") && name.contains(arch_pattern) && name.ends_with(".zip") + }) || assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.contains(arch_pattern) && (name.ends_with(".deb") || name.ends_with(".rpm")) + }) || assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.contains("linux") && name.ends_with(".zip") + }) || assets.iter().any(|asset| { + let name = asset.name.to_lowercase(); + name.ends_with(".deb") || name.ends_with(".rpm") + }) } _ => false, } diff --git a/src-tauri/src/browser_version_service.rs b/src-tauri/src/browser_version_service.rs index b6e7039..de8f36a 100644 --- a/src-tauri/src/browser_version_service.rs +++ b/src-tauri/src/browser_version_service.rs @@ -566,7 +566,7 @@ impl BrowserVersionService { ("windows", _) => (format!("brave-{version}.exe"), false), ("linux", "x64") => (format!("brave-browser-{version}-linux-amd64.zip"), true), ("linux", "arm64") => (format!("brave-browser-{version}-linux-arm64.zip"), true), - ("macos", _) => (format!("Brave-Browser-universal.dmg"), true), + ("macos", _) => ("Brave-Browser-universal.dmg".to_string(), true), _ => { return Err(format!("Unsupported platform/architecture for Brave: {os}/{arch}").into()) } diff --git a/src-tauri/src/download.rs b/src-tauri/src/download.rs index 1387050..f9a4e4a 100644 --- a/src-tauri/src/download.rs +++ b/src-tauri/src/download.rs @@ -206,12 +206,10 @@ impl Downloader { }) .or_else(|| { // Fallback to DEB packages - assets - .iter() - .find(|asset| { - let name = asset.name.to_lowercase(); - name.contains(arch_pattern) && name.ends_with(".deb") - }) + assets.iter().find(|asset| { + let name = asset.name.to_lowercase(); + name.contains(arch_pattern) && name.ends_with(".deb") + }) }) .or_else(|| { // Fallback to any ZIP