diff options
| -rw-r--r-- | src-tauri/src/main.rs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index c1b882c..bb79f3e 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -594,9 +594,21 @@ async fn get_installed_versions(app_handle: tauri::AppHandle) -> Result<Vec<Stri .map_err(|e| format!("Failed to get app data dir: {}", e))?; let versions_dir = game_dir.join("versions"); - - let Ok(entries) = std::fs::read_dir(versions_dir) else { - return Ok(Vec::new()); + + let entries = match std::fs::read_dir(&versions_dir) { + Ok(entries) => entries, + Err(e) if e.kind() == std::io::ErrorKind::NotFound => { + // No versions directory yet; treat as "no versions installed" + return Ok(Vec::new()); + } + Err(e) => { + eprintln!( + "Failed to read versions directory {}: {}", + versions_dir.display(), + e + ); + return Err(format!("Failed to read versions directory: {}", e)); + } }; let installed_versions = entries |