From 12db0e9bb9e9ef9bbe532b0610d44416eb6c539e Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Fri, 29 May 2026 09:28:05 +0200 Subject: [PATCH] Fix: prioritize non-installer executables over depth in findMainExe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The sort was: depth → non-installer → size. This meant a root-level SETUP.EXE (depth 1, installer) beat a subdirectory FALLOUT.EXE (depth 2, non-installer). New sort: non-installer → depth → size. Now any non-installer game EXE wins over installers regardless of depth. --- src/main/java/com/dostalgia/UploadResource.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dostalgia/UploadResource.java b/src/main/java/com/dostalgia/UploadResource.java index 158a155..a4af3c8 100644 --- a/src/main/java/com/dostalgia/UploadResource.java +++ b/src/main/java/com/dostalgia/UploadResource.java @@ -261,8 +261,8 @@ public class UploadResource { if (candidates.isEmpty()) return null; candidates.sort(Comparator - .comparingInt(Candidate::depth) - .thenComparingInt(c -> c.isInstaller() ? 1 : 0) + .comparingInt(c -> c.isInstaller() ? 1 : 0) // non-installer first + .thenComparingInt(Candidate::depth) .thenComparingLong(c -> -c.size())); // larger files first return candidates.getFirst().path();