You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The app no longer relaunches itself as administrator. Only the steps that need admin rights (MSYS2 install, update, and uninstall) are elevated, and the window stays a normal user process.
If you decline the administrator prompt, the app stays open and tells you the action was cancelled instead of closing.
MSYS2 is now downloaded and installed directly, with no winget dependency. If the automated install fails, the app offers to open the MSYS2 download page and explains the manual steps.
Installation runs silently, and the MSYS2 update runs pacman -Syuu twice so core and remaining packages are both upgraded.
The app checks that all required MSYS2 packages are present, not just the base install. It reports any that are missing.
The main button reflects what's needed: INSTALL WORKER when MSYS2 or the worker files are missing, SETTINGS when credentials are missing, and START WORKER when everything is ready.
Installing or re-installing the worker keeps the existing worker folder until the new one is ready, so a failed install no longer leaves you without a working worker.
Uninstalling MSYS2 waits for the uninstaller to finish before the UI refreshes, and the uninstaller runs without opening a console window.
Worker setup deletes only the temporary folders it created, not unrelated directories.
Settings
Settings moved from a popup window to a page in the main window, with a sidebar and a Settings button. Saving returns to the dashboard and refreshes the controls.
Fishtest username, password, and concurrency are passed to the setup script as environment variables instead of command-line arguments, so special characters no longer break the install.
Concurrency is validated when you save: plain numbers are checked against your CPU count, and expressions such as MAX-1 are accepted and passed to the worker unchanged. The settings page shows how many cores your computer has.
The GitHub token is stored only in your netrc file. Saving no longer overwrites other netrc entries, and the NETRC environment variable is respected.
Interface
The main window has a new dashboard with a status card that shows Idle, Running, or Stopping, along with the Fishtest user and core count.
While the worker is starting up, the progress label shows each stage: compiling Stockfish, downloading task files, uploading results, and so on.
The worker now runs with unbuffered output, so its log and status lines appear immediately.
Stopping the worker gracefully now explains what happens and shows a FORCE STOP NOW button. The progress label shows "Stopping after batch" until the worker exits.
The force-stop confirmation now states that in-progress batch results will be lost. Right-click force stop still works.
Console output from the setup, update, and worker processes is decoded correctly on non-English Windows systems. UTF-8 is tried first, then the OEM code page.
A sidebar holds the Dashboard, Settings, install, update, and uninstall actions, plus links to the Fishtest site and to report an issue on GitHub.
When a newer version is available, the update button appears in the sidebar instead of at the top of the window.
The window opens slightly wider than before and has a minimum size.
Maintenance
GitHub Actions are pinned to full commit SHAs.
.gitignore now excludes __pycache__, *.spec, and the worker/ folder.