- Removed WindowService.cs which was just a thin wrapper around PhotinoBlazor
- Removed WindowOptions, WindowType, and WindowRef models (unused or part of incomplete window tracking)
- Updated Program.cs to directly use PhotinoBlazorAppBuilder
- Service registration now done through direct extension method calls
- Window configuration uses existing extension methods in Startup/Window.cs
- Simplified initialization flow with clearer code structure
- All functionality preserved, just more transparent and maintainable
Switched the library importing in the launcher to work based on a queue. As a new game is added to the queue, it should find any related data and also add it to the queue. This should result in an easier to maintain importer while reducing the load on the launcher's DAL. This may result in more RAM usage while importing. Local manifests have also been refactored to match manifests in import/export LCX files, removing the old manifest format. This is a large breaking change that will probably break existing game installations. A migration will probably have to be created.
Instead of providing delegates to a ScriptClient singleton, script execution now relies on dependency injection for debugging. This can be handled by registering an implementation of IScriptDebugger. Multiple script debuggers are supported. These changes required the creation of a PowerShellScriptFactory to handle DI of the service provider to the script.
In the case of LANCommander, "debugging" scripts really just gives an opportunity for the application to break after a script's execution and provide a poor-man's pty. This could be expanded upon in the future to hook directly into PowerShell's debugging functionality, but would require a substantial refactor to script execution.
- DownloadService has been renamed to InstallService
- In the library item context menu, there is a new option "Modify". This allows the user to selsct any additional addons to install as well as move the game to a separate storage location.
- Fixed issue where transfers were being double updated for installs
- Force UI update whenever queue is updates
Media is now imported if its given an ID that doesn't exist in the database. This should almost never happen, but it's there if needed.
The login process for the launcher has been refactored to do some initialization steps on application start. This should include pulling down the profile avatar and validating connection on start.
Fixes#124