Commit graph

303 commits

Author SHA1 Message Date
Pat Hartl
66abc6e59e Implement infinite loading with chat thread
- Chat messages are now loaded based on scroll position
- Read status is now updated and set by last message read
- Reworked script importing by using ScriptProvider
2026-01-11 14:38:24 -06:00
Pat Hartl
8bf006b1a4 Refactor TS to classes, remove factory in place of static Create factory method, rework module importing 2026-01-07 18:25:17 -06:00
Pat Hartl
e9b3f14896 Use Terminal component for server PowerShell debugger 2026-01-04 00:03:31 -06:00
Pat Hartl
fbcb02a863 Move useful terminal methods to component, remove old addon registration 2026-01-03 23:58:50 -06:00
Pat Hartl
b54ef115ab Fix footer 2026-01-02 02:10:24 -06:00
Pat Hartl
0d86e27811 Fix depot SCSS import 2025-12-31 21:24:22 -06:00
Pat Hartl
9b705a757d Remove unused code 2025-12-31 21:24:12 -06:00
Pat Hartl
17a50d5497 Fix depot variables 2025-12-31 21:24:02 -06:00
Pat Hartl
4069ab93a2 Fix page namespacing 2025-12-31 20:09:32 -06:00
Pat Hartl
edb8af917d Fix package reference for imports 2025-12-31 20:05:20 -06:00
Pat Hartl
698a7523b6 Code cleanup
- Move all Launcher components to LANCommander.Launcher.UI namespace
- Move all SCSS files next to components (when possible)
- Refactor styles that control overflow of content into titlebar to MainWindow only
- Remove use in launcher UI of SDK.Client
2025-12-31 20:01:04 -06:00
Aaron Powell
eee946c6e0 Updating some missing renames
Razor tooling doesn't detect property renames to update usages (known issue tracked in https://github.com/dotnet/razor/issues/7060)
2025-12-17 14:56:26 +11:00
Aaron Powell
2b3c2c560a Logging working from the launcher now 2025-12-11 16:32:35 +11:00
Aaron Powell
8c436b3d47 Consolidating to consistent logging across all apps 2025-12-11 16:18:33 +11:00
Aaron Powell
4cef475348 Removing Serilog from the launcher
Rely on the standard .NET logging system, so it integrates better with external libraries we might be logging through.
2025-12-11 16:18:33 +11:00
Pat Hartl
17fa802c19 Implementation of script debugger component with RPC via SignalR 2025-12-10 20:55:38 -06:00
Pat Hartl
30423a139a Update import event handlers to AsyncEventHandler 2025-12-05 21:24:08 -06:00
Pat Hartl
b4e8925e0e Merge branch 'main' into development 2025-12-01 17:57:07 -06:00
Pat Hartl
50f02125a0
Merge pull request #368 from aaronpowell/library-page
Library page
2025-12-01 17:55:14 -06:00
Pat Hartl
f6f673b1ca
Merge pull request #367 from aaronpowell/download-resiliance
Adding some resiliance to the download queue
2025-12-01 17:53:43 -06:00
Aaron Powell
8d8ea04fa9 More warnings and defensive code through the Library page and components 2025-12-01 22:54:38 +11:00
Aaron Powell
4eb299eec9 Cleaning up warnings in the GameActionBar 2025-12-01 22:46:38 +11:00
Aaron Powell
eb4adabb35 Adding some resiliance to the download queue 2025-12-01 22:40:47 +11:00
Aaron Powell
22aa828abb Removing some warnings in the code on start up 2025-12-01 22:06:49 +11:00
Pat Hartl
2ddcd75c19 Bind import UI events 2025-12-01 01:05:32 -06:00
Pat Hartl
54ace5d141 Map relational game data, fix individual game import 2025-11-29 19:31:43 -06: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
b7433a2da1 Fix window content fit 2025-11-26 23:24:29 -06:00
Pat Hartl
a281ef473e Fix script debugging in launcher, fix cmdlet registration 2025-11-26 22:38:04 -06:00
Pat Hartl
e6c12b4809 Refactor script debugging
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.
2025-11-26 01:09:52 -06:00
Pat Hartl
d6577564db Move launcher settings to separate assembly 2025-11-23 20:53:45 -06:00
Pat Hartl
cac403544e Fix gap with title bar 2025-11-21 19:18:19 -06:00
Pat Hartl
49c4506478 Smoother load from Depot -> Library 2025-11-21 19:06:26 -06:00
Pat Hartl
24414f7994 Avoid inaccessible game/server from crashing launcher when selecting game 2025-11-21 18:20:23 -06:00
Pat Hartl
fe9d1e72c1 Use single footer in main app window between routes 2025-11-21 18:20:01 -06:00
Pat Hartl
875433937a Load settings on launcher 2025-11-19 23:54:11 -06:00
Pat Hartl
88686383db Unwrap settings config builder extensions 2025-11-19 19:52:36 -06:00
Pat Hartl
256b46e823 Fix storage of authentication token 2025-11-19 00:36:03 -06:00
Pat Hartl
4ffc6faf88 Force full load on route redirection 2025-11-13 18:17:30 -06:00
Pat Hartl
7b84b5da13 Only download profile when logging in. Only process login if token is invalid 2025-11-09 15:11:10 -06:00
Pat Hartl
94db43eeba Provide default route for windows 2025-11-09 15:00:46 -06:00
Pat Hartl
5fa665f5ed Merge branch 'main' into development
# Conflicts:
#	LANCommander.Launcher.Services/AuthenticationService.cs
#	LANCommander.Launcher/UI/App.Chat.razor
#	LANCommander.Launcher/UI/App.Main.razor
#	LANCommander.Launcher/UI/Pages/Settings/Index.razor
2025-11-09 14:33:07 -06:00
Pat Hartl
0917437dec Rely on routing for window content 2025-11-09 14:31:41 -06:00
Pat Hartl
f05e125809 Fix scope lifetime, remove OnLogin/OnRegister events 2025-11-09 14:30:31 -06:00
Pat Hartl
acb91f8484 Fix login/logout UX
- Moves authentication back to a /Authenticate page route
- Flatten the namespaces of page components
- Implement top-level layouts as windows
- Move handling of redirecting to /Authenticate with component inside of an AuthenticatedLayout
- Use individiual injected services instead of SDK.Client
- Wipe out tokens on logout
- Process logout even if server can't be reached
2025-11-07 20:19:13 -06:00
Pat Hartl
624f53157e Remove unused 2025-11-07 19:09:43 -06:00
Pat Hartl
31cc9742e0 Redirect to login on auth failure 2025-11-07 19:09:32 -06:00
Pat Hartl
5f95f3c9ad Use ConnectionClient, add authentication page 2025-11-07 00:26:21 -06:00
Pat Hartl
1983cf4bb3 Apply database migration on startup, add default install directory 2025-11-06 20:15:05 -06:00
Pat Hartl
7a562cdb10 Fix authentication limbo in launcher 2025-11-03 23:24:47 -06:00