From cc428414e36429af82523c63b1a2c114baac5748 Mon Sep 17 00:00:00 2001 From: DecDuck Date: Thu, 26 Feb 2026 12:06:07 +1100 Subject: [PATCH 1/3] fix: proton paths fetch on windows --- main/components/GameOptions/Launch.vue | 24 +++++++++++++----------- src-tauri/process/src/process_manager.rs | 3 +-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/main/components/GameOptions/Launch.vue b/main/components/GameOptions/Launch.vue index 69101fe..e2c4ff8 100644 --- a/main/components/GameOptions/Launch.vue +++ b/main/components/GameOptions/Launch.vue @@ -96,8 +96,8 @@ (); -const protonPaths = await invoke<{ - autodiscovered: ProtonPath[]; - custom: ProtonPath[]; - default?: string; -}>("fetch_proton_paths"); +const protonPaths = props.protonEnabled + ? await invoke<{ + autodiscovered: ProtonPath[]; + custom: ProtonPath[]; + default?: string; + }>("fetch_proton_paths") + : undefined; const currentProtonPath = computed( () => - protonPaths.autodiscovered.find( + protonPaths?.autodiscovered.find( (v) => v.path == model.value.overrideProtonPath, ) ?? - protonPaths.custom.find((v) => v.path == model.value.overrideProtonPath), + protonPaths?.custom.find((v) => v.path == model.value.overrideProtonPath), ); diff --git a/src-tauri/process/src/process_manager.rs b/src-tauri/process/src/process_manager.rs index 7f670b4..c1e7b09 100644 --- a/src-tauri/process/src/process_manager.rs +++ b/src-tauri/process/src/process_manager.rs @@ -276,7 +276,7 @@ impl ProcessManager<'_> { debug!( "Launching process {:?} with version {:?}", &game_id, - db_lock.applications.game_versions.get(&game_id) + db_lock.applications.game_versions.get(version_name) ); let game_version = db_lock @@ -285,7 +285,6 @@ impl ProcessManager<'_> { .get(version_name) .ok_or(ProcessError::InvalidVersion)?; - // TODO: refactor this path with open_process_logs let game_log_folder = &self.get_log_dir(game_id); create_dir_all(game_log_folder)?; From 4402343af4b3c56268a532ea9b07147f98574c57 Mon Sep 17 00:00:00 2001 From: DecDuck Date: Thu, 26 Feb 2026 12:08:52 +1100 Subject: [PATCH 2/3] fix: fetch_proton_paths on windows --- main/components/GameOptions/Launch.vue | 192 +----------------- .../components/GameOptions/ProtonSelector.vue | 189 +++++++++++++++++ 2 files changed, 191 insertions(+), 190 deletions(-) create mode 100644 main/components/GameOptions/ProtonSelector.vue diff --git a/main/components/GameOptions/Launch.vue b/main/components/GameOptions/Launch.vue index e2c4ff8..f7aac79 100644 --- a/main/components/GameOptions/Launch.vue +++ b/main/components/GameOptions/Launch.vue @@ -22,205 +22,17 @@ >

- - Proton override -
- - {{ currentProtonPath.name }} ({{ currentProtonPath.path }}) - No override configured - - - - - -
  • - Use global default - - - -
  • -
    -

    - Auto-discovered -

    - -
  • - {{ proton.name }} ({{ proton.path }}) - - - -
  • -
    -
  • - No auto-discovered layers. -
  • -

    - Manually added -

    - -
  • - {{ proton.name }} ({{ proton.path }}) - - - -
  • -
    -
  • - No manually added layers. -
  • -
    -
    -
    -

    - Override the Proton layer used to launch this game. You can add or - remove your custom Proton layer paths in - - - Settings . -

    -
    + diff --git a/main/components/GameOptions/ProtonSelector.vue b/main/components/GameOptions/ProtonSelector.vue new file mode 100644 index 0000000..39806d3 --- /dev/null +++ b/main/components/GameOptions/ProtonSelector.vue @@ -0,0 +1,189 @@ + + + From e0944d95b1843866343f4d4ab9a11db13bf6b87b Mon Sep 17 00:00:00 2001 From: DecDuck Date: Thu, 26 Feb 2026 12:58:06 +1100 Subject: [PATCH 3/3] fix: native launcher --- src-tauri/process/src/process_handlers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-tauri/process/src/process_handlers.rs b/src-tauri/process/src/process_handlers.rs index 91b8f3e..52d8495 100644 --- a/src-tauri/process/src/process_handlers.rs +++ b/src-tauri/process/src/process_handlers.rs @@ -17,7 +17,7 @@ impl ProcessHandler for NativeGameLauncher { _current_dir: &str, _database: &Database, ) -> Result { - Ok(format!("\"{}\"", launch_command)) + Ok(launch_command) } fn valid_for_platform(&self, _db: &Database, _target: &Platform) -> bool {