Replaced all direct Directory.Delete calls by our new custom FileSystemUtilities.TryDeleteDirectory class and method for safer and more robust directory deletion throughout the codebase with automatic retries (3x 150ms), recursive deletion, handling of read-only attributes, rename-then-delete fallback, and better error handling. Also moved the WebView cleanup to happen earlier on initialization, before creation of the WebView environment
Introduces a 'Installed' column to the games ListView, displaying the installed version for each game. Updates sorting logic to handle the new column numerically and defines the corresponding index in RCLONE.cs.
Refactored all file download logic to use DNS fallback and applied it to 7-zip and WebView2 runtime downloads. Moved WebView2 runtime download logic to GetDependencies and ensures it is downloaded at startup if missing. Added robust handling for corrupted user.config files in Program.cs, including auto-repair and fallback guidance.
Introduced DnsHelper to detect system DNS failures and fall back to Cloudflare (1.1.1.1 / 1.0.0.1) DNS resolving, with caching and helpers for downloads. When fallback is required a lightweight local proxy is started and HTTP_PROXY/HTTPS_PROXY are set for spawned rclone processes so rclone uses the proxy’s DNS resolution; the proxy is cleaned up on exit. This finally resolves the very common ISP DNS blockage issues of users.
Updated all FlexibleMessageBox.Show invocations to include Program.form as the parent form. This ensures message boxes are properly parented to the main application window, putting them infront of the main window, instead of behind it.
Improved performance and reliability of metadata extraction by using faster directory deletion, parallel operations, and atomic game list updates. Refactored game list initialization for better memory usage and parallelized device connection and metadata updates. Logger initialization message is now more prominent. Minor UI and code cleanups included.
Massively improved game list initialization and metadata extraction, reducing game list processing time from ~11 seconds to under 1 second (~20x faster) on my end. Refactored initListView with batched version code retrieval and parallelized blacklist/whitelist loading. Optimized Sideloader/RCLONE metadata extraction and improved directory operations. Minor UI and logging tweaks.
Removed the splash form, associated images, and all references to splash screen logic from the project. Refactored startup logic to run directly, with improved asynchronous initialization and cleanup.
* fix: pull to desktop not resetting work status.
resolves#104
* Create Text File with upload size for verification
* bump version
* better public config handling
* code cleanup
Co-authored-by: Fenopy <Fenopie@Gmail.com>
- Added new config mode for use with http mirror
- Removed previous http mirror workarounds
- Added Offline Mode launcher to package fetch.
- Add splash screen on startup