Commit graph

54 commits

Author SHA1 Message Date
Pat Hartl
6b2610a200 Rework Tool installation / action resolution
Amends the tool installation to use game install directory and correctly populate actions. Tools previously used an undocumented/unpopulated/inaccessible global install directory. This has been changed to use the game's install directory. Uninstall scripts are also now executed for tools when the game is uninstalled.

Fixes #414
2026-06-21 21:16:45 -05:00
Pat Hartl
eaaaf39b8d Refactor install process to use major/minor task queue
Tasks are broken down into major and minor tasks. Major tasks are like install game, redistributable, or tool. These are reported as individual tasks in the download queue. Minor tasks are running of a script, downloading saves, extracting/downloading, etc.
2026-04-17 22:24:47 -05:00
Pat Hartl
6013cd8cdf Fix download status message when downloading 2026-04-12 00:19:08 -05:00
Pat Hartl
c9fb738a21 Update to .NET 10 2026-04-10 00:54:43 -05:00
Aaron Powell
3115ed4ea3 Merge branch 'main' into avalonia-launcher
# Conflicts:
#	Directory.Packages.props
2026-03-21 14:15:00 +11:00
Pat Hartl
46bbf85093 First pass of adding tool installation to launcher 2026-02-10 18:04:49 -06:00
Aaron Powell
8cf2139ccf feat: Add Avalonia launcher PoC with cross-platform UI
- Create LANCommander.Launcher.Avalonia project using Avalonia MVVM
- Implement server selection, login, and game library views
- Add library sidebar showing user's games
- Add depot/games list view with game details
- Integrate with LANCommander.Launcher.Services for:
  - DepotService, LibraryService, ImportService, MediaService
  - SDK authentication and connection clients
- Fix async initialization pattern to prevent UI thread deadlocks
- Add ConfigureAwait(false) to ServerConfigurationProvider.RefreshAsync
- Add Microsoft.Extensions.Http package for HttpClient DI

Key features:
- Server discovery and connection
- User authentication with credential persistence
- Library import from server to local SQLite cache
- Game icons and banners via MediaService
- Navigation between library, depot, and game details
2026-01-19 14:24:49 +11:00
Aaron Powell
8c436b3d47 Consolidating to consistent logging across all apps 2025-12-11 16:18:33 +11:00
Pat Hartl
6dfc0906ac Refactor launcher library importing, manifests
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.
2025-11-29 18:24:27 -06:00
Pat Hartl
d6577564db Move launcher settings to separate assembly 2025-11-23 20:53:45 -06:00
Pat Hartl
d85e716bbb Add cancel install to launcher
Fixes #293
2025-10-15 21:26:40 -05:00
Pat Hartl
382a270b03 Simplify connection state management 2025-10-05 17:13:47 -05:00
Pat Hartl
5cab1f3618 Remove old SettingsService, replace with Options pattern 2025-09-29 19:49:09 -05:00
Pat Hartl
6dd4475e49 Centrally manage packages 2025-09-25 19:11:37 -05:00
Pat Hartl
5a32bbf890 Add localization support to launcher
Adds localization across the launcher and includes English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Portuguese, Ukranian, and Chinese. These localizations were generated by Claude 3.5 and need to be reviewed by a human for accuracy.
2025-08-18 21:29:38 -05:00
Pat Hartl
640f476986
Merge pull request #291 from RattleSN4K3/feature/LibraryGameModifySelective
Library changes to addon installation
2025-08-03 14:03:12 -05:00
RattleSN4K3
7822a92612 Handle auth state in auth form, forward to specific state based on connection state 2025-06-15 23:39:31 +02:00
RattleSN4K3
87ecb8ef01 Store installed flag in local library, pre-select addons on Modify/Install dialog 2025-05-27 23:14:59 +02:00
RattleSN4K3
abd8c4cfd1 Pass default username with fallback to "Player" in NameChange script 2025-05-13 00:23:12 +02:00
Pat Hartl
041a0069ee Add DiscoveryBeacon, DiscoveryProbe, new beacon message
Adds a discovery beacon and probe to the client and removes BeaconService from the server.
2025-04-23 21:23:33 -05:00
Pat Hartl
bb6e421e5f Consolidate packages 2025-02-08 12:43:20 -06:00
Pat Hartl
98bfe90605 Show import progress in popover 2025-02-06 20:54:03 -06:00
Pat Hartl
117f2d6c2b Update to .NET 9 2025-02-04 18:39:29 -06:00
Pat Hartl
38606a3231 Add progress for redistributable installing
Some checks failed
Publish SDK NuGet Package / publish (push) Failing after 1m42s
LANCommander Release / prep (push) Has been cancelled
LANCommander Release / build_server_win-x64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-x64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-x64 (push) Has been cancelled
LANCommander Release / build_launcher_win-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_win-x64 (push) Has been cancelled
LANCommander Release / build_server_linux-arm64 (push) Has been cancelled
LANCommander Release / build_server_linux-x64 (push) Has been cancelled
LANCommander Release / build_server_osx-arm64 (push) Has been cancelled
LANCommander Release / build_server_osx-x64 (push) Has been cancelled
LANCommander Release / build_server_win-arm64 (push) Has been cancelled
LANCommander Release / build_release (push) Has been cancelled
2025-01-31 00:34:37 -06:00
Pat Hartl
b3e0e09ffc Add sorting by most played 2025-01-31 00:17:02 -06:00
Pat Hartl
205a6a933a Add button state for uninstalling 2025-01-27 00:04:42 -06:00
Pat Hartl
cbe363ac4f Refactor launcher authentication, working import from depot 2025-01-20 12:10:30 -06:00
Pat Hartl
cf7e81ba54 Detect disconnection from server, automatically go into offline mode 2025-01-18 20:25:39 -06:00
Pat Hartl
304f308474 WIP refactor of game importing 2025-01-12 02:54:41 -06:00
Pat Hartl
ce17b7999f Rework depot results, API docs via Scalar 2024-12-16 00:57:11 -06:00
Pat Hartl
ed84ca8963 Grouping in depot, default to no grouping 2024-11-13 01:43:00 -06:00
Pat Hartl
be86bcb261 WIP depot view and import 2024-11-12 02:35:28 -06:00
Pat Hartl
872ec3725d Rename LibraryItem to ListItem 2024-11-09 17:15:04 -06:00
Pat Hartl
9d239a0066 Add sorting to launcher
Implements #122
2024-10-30 18:53:05 -05:00
Pat Hartl
fb8c31909d Add quick search to launcher filters
Needs styling, but is functional. Implements #109
2024-10-30 00:22:37 -05:00
Pat Hartl
0821dfde5c Merge tag 'v1.0.4' into v1.1.0
# Conflicts:
#	LANCommander.Launcher.Services/InstallService.cs
#	LANCommander.Launcher.Services/ProfileService.cs
#	LANCommander.Launcher/UI/Components/DownloadQueue.razor
#	LANCommander.Launcher/wwwroot/css/app.css.map
#	LANCommander.SDK/Enums/InstallStatus.cs
2024-10-28 01:01:57 -05:00
Pat Hartl
27d6ea6486 Add ability to modify a game's installation
- 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
2024-10-26 15:48:47 -05:00
Pat Hartl
2db74b5696 Fix download queueing
Fixes #131
2024-10-24 19:18:00 -05:00
Pat Hartl
b1e193d988 Add support for selective install of mods/expansions
Implements #126
2024-10-09 19:23:42 -05:00
Pat Hartl
320d4e2c5e Allow uploading of archive files via CLI
Implements #111
2024-10-01 17:56:58 -05:00
Pat Hartl
3d9749a9db Add importing/exporting of redistributable and server to CLI 2024-10-01 17:56:06 -05:00
Pat Hartl
79c26b3313 Retain window sizing on close 2024-09-17 19:48:23 -05:00
Pat Hartl
0d3412cb9d Add ability to allow a choice of install locations 2024-09-12 19:09:13 -05:00
Pat Hartl
c203ac6d32 Switch logging to Serilog 2024-09-11 00:24:34 -05:00
Pat Hartl
bb63593fc7 Update packages across solution 2024-09-10 23:39:57 -05:00
Pat Hartl
44f091386d WIP launcher login redesign 2024-08-26 21:29:25 -05:00
Pat Hartl
66da004e5f Add CLI verb for running a game 2024-08-26 20:19:51 -05:00
Pat Hartl
7bc37478aa Pass through GameId to export 2024-08-13 18:39:28 -05:00
Pat Hartl
328e342b21 Rename messages to reflect sync verb 2024-08-13 17:42:43 -05:00
Pat Hartl
bf9ef30b4b Add game importing via CLI 2024-08-12 19:33:26 -05:00