* fix: resolve cross-platform EPERM permissions errors
modManager.js:
- Switch from hardcoded 'junction' to dynamic symlink type based on OS (fixing Linux EPERM).
- Add retry logic for directory removal to handle file locking race conditions.
- Improve broken symlink detection during profile sync.
gameManager.js:
- Implement retry loop (3 attempts) for game directory removal in updateGameFiles to prevent EBUSY/EPERM errors on Windows.
paths.js:
- Prevent fs.mkdirSync failure in getModsPath by pre-checking for broken symbolic links.
* fix: missing pacman builds
* prepare release for 2.1.1
minor fix for EPERM error permission
* Update README.md Windows Prequisites for ARM64 builds
* fix: remove broken symlink after detected
* fix: add pathexists for paths.js to check symlink
* fix: isbrokenlink should be true to remove the symlink
* fix: update tar to 7.5.6
* test: release on main branch using tag
* chore: remove previous release branch part
* fix: add deps for bsdtar
* fix: fix build tar.zst for arch
* fix: missing npm ci on release yml
* fix: remove pacman package json
* fix: revert tar version
* fix: revert tar in package-lock.json
* Update release.yml
The portable and nsis targets both produced x64.exe files with the same
name, causing one to overwrite the other. The latest.yml contained the
checksum from one build while the actual file was from the other build.
Removed portable target - nsis installer is sufficient.
Bump version to 2.0.11
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
* feat: Add Repair Game functionality including UserData backup and cache clearing
* feat: Add In-App Logs Viewer and Logs Folder shortcut
* feat: Add Open Logs feature
* disable dev tools
* Fix Settings UI
* Implement custom mod loading, autoimport, auto repair
* Fixed Custom Mod loading issues and merge issues
* feat: Externalize sensitive API keys and Discord client ID into environment variables using dotenv.
* feat(mods): add profile-based mod management and auto-repair
- Fix version display (newVersion field)
- Add download progress bar with real-time updates
- Reorder buttons: Install & Restart (primary), Manually Download (secondary)
- Update dev-app-update.yml to point to fork
- Update package.json version to 2.0.2
- Install electron-updater package
- Configure GitHub releases publish settings
- Create AppUpdater class with full update lifecycle
- Integrate auto-update into main.js
- Add comprehensive documentation (AUTO-UPDATES.md, TESTING-UPDATES.md)
- Set up dev-app-update.yml for testing
* modernized UI for GPU Preference option
* feat: auto-detect dedicated GPU on hybrid laptops (iGPU+dGPU)
* feat: detailed GPU info in auto-detection feature on startup
* feat: add GPU options for launcher
- Add GPU preference setting (Auto/Integrated/Dedicated)
- Implement Linux GPU selection with DRI_PRIME and NVIDIA env vars
- Add GPU detection using Electron's app.getGPUInfo()
- Update settings UI with GPU preference dropdown
- Integrate GPU preference into game launch process
* feat: auto-detect dedicated GPU on hybrid laptops (iGPU+dGPU)
* added fallbacks to and option to use integrated GPU.
* add package-lock and fix deps version
* changed 'Nvidia' string to 'NVIDIA'
* fix: selecting `dedicated` option while using nvidia GPU did not set its specific env variables
* remove unused `CONFIG_FILE` variable on launcher core modules
* fix: duplicated save-load gpu detection functions
* move game option settings to the top, while custom java to the bottom
* fix: settings-header margin-bottom from 3rem to 1rem and supress line-clamp warning