Commit graph

292 commits

Author SHA1 Message Date
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
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
55ad5ddb96 Use DefaultAsync for default storage location 2025-11-21 13:15:57 -06:00
Pat Hartl
7374c904a1 Fix mapping of primary action on export 2025-11-21 13:15:35 -06:00
Pat Hartl
47d78f66d9 Add basic routes for issues, move to minimal API, resolve using user ID 2025-11-21 00:25:59 -06:00
Pat Hartl
cf16d7619f Move game endpoints to minimal API, fix archive upload compressed size calculation 2025-11-20 22:04:20 -06:00
Pat Hartl
256b46e823 Fix storage of authentication token 2025-11-19 00:36:03 -06:00
Pat Hartl
f84a373d65 Correctly register ArchiveService as IArchiveClient implementation 2025-11-17 22:09:19 -06:00
Pat Hartl
772dd03537 Rename to ArchiveService 2025-11-17 22:09:03 -06:00
Pat Hartl
3a5b3f0897 Configure database on startup 2025-11-17 20:31:11 -06:00
Pat Hartl
add770b227 Refactor Settings
Settings for the server are now combined with the settings from the SDK. This introduces a large breaking change and a migration should be created. This refactor utilizes .NET Configuration and the Options pattern. This will allow for the overriding of any setting using envionment variables. It also means that Settings.yml can be used to override any .NET configuration. A SettingsProvider implementation was created, and any updating of settings was changed from SettingsService.SaveSettings() to SettingsProvider.Update(s => { ... })
2025-11-16 12:31:25 -06:00
Pat Hartl
7efee54550 Fix check to see if user is already participant 2025-11-14 00:16:11 -06:00
Pat Hartl
cd0f33ccf3 Add log 2025-11-13 18:17:45 -06:00
Pat Hartl
4535d9891a Add chat read status, badges to avatars, avatars for groups 2025-11-12 18:26:25 -06:00
Pat Hartl
37eebfde9c Add hub method to get stripped list of users 2025-11-10 18:06:55 -06:00
Pat Hartl
9e754daa40 Add mapping for chat thread 2025-11-09 19:44:54 -06:00
Pat Hartl
3a87abe3da Remove null check 2025-11-09 19:23:54 -06:00
Pat Hartl
707332b68e Add null checks for participants and user 2025-11-05 23:42:36 -06:00
Pat Hartl
a92c7be6ec Enhance chat list
- Added SafeAvatar component for retrieving user avatars with fallback to initials
- Added a title/name for chat threads
- Moved chat input to a separate component
2025-11-03 23:27:05 -06:00
Pat Hartl
191827ed6d Remove manual tracking of user connections, populate participants in database
Removes the manual tracking of user connections by connection ID in the RPC hub. SignalR automatically links connections to connected users and provides Client.User[s] methods.

Also fixes message sending to participants and tracking of participants per thread.
2025-10-28 22:19:48 -05:00
Pat Hartl
2076c6e93b Allow different cookie policies for HTTP/S 2025-10-21 21:28:52 -05:00
Pat Hartl
0812387c55 Switch OIDC to use configuration endpoints 2025-10-12 20:54:56 -05:00
Pat Hartl
4968481460 Standardize YAML serializers 2025-10-06 19:23:49 -05:00
Pat Hartl
ad034918a4 Register client, rename settings file 2025-10-05 21:31:16 -05:00
Pat Hartl
b1e5034ed9 Remove projection overloads 2025-10-05 19:41:24 -05:00
Pat Hartl
5cab1f3618 Remove old SettingsService, replace with Options pattern 2025-09-29 19:49:09 -05:00
Pat Hartl
aaf65fcf09 Runnable launcher using new client 2025-09-27 16:39:54 -05:00
Pat Hartl
7f99fb481c Use Options pattern, 2025-09-26 00:51:02 -05:00
Pat Hartl
14208b34a3 Serve client settings via new endpoint 2025-09-26 00:49:34 -05:00
Pat Hartl
d24f72beed Merge branch 'main' into refactor/sdk-dependency-injection
# Conflicts:
#	LANCommander.SDK/LANCommander.SDK.csproj
2025-09-25 19:38:21 -05:00
Pat Hartl
1daeb5fc10 Migrate to new AutoMapper DI 2025-09-25 19:12:49 -05:00
Pat Hartl
e0ead4ee72 Remove mapping of IGDB categories to game type
Fixes #342
2025-09-25 19:12:31 -05:00
Pat Hartl
6dd4475e49 Centrally manage packages 2025-09-25 19:11:37 -05:00
Pat Hartl
d875377f15 Rename SDK services -> clients, implement new configuration, use dependency injection for clients 2025-09-24 20:58:23 -05:00
Pat Hartl
c477ef1877 UI to edit media thumbnail sizes 2025-09-15 19:19:52 -05:00
Pat Hartl
cd768486ec Move thumbnail sizing to settings 2025-09-10 02:35:22 -05:00
Pat Hartl
0eb233ac30 Move file manager component to UI project 2025-09-06 12:57:15 -05:00
Pat Hartl
188926e37b Add new RPC hub, migrate existing SignalR messaging to strongly typed RPC, add chat data migrations 2025-08-28 19:57:23 -05:00
Pat Hartl
e8388f7918 Add way to start thread 2025-08-20 20:54:09 -05:00
Pat Hartl
fd3fbf4a75 Initial backend implementation for chat 2025-08-19 03:08:30 -05:00
Pat Hartl
59cd872c5f Used cached credentials for SteamCMD 2025-08-15 02:15:40 -05:00
Pat Hartl
086c41dcb8 Set created by based on ID 2025-08-15 02:15:20 -05:00
Pat Hartl
5a50d80326 Revert "Fix lookup of game metadata when adding new game"
This reverts commit 2b711b5017.
2025-08-15 02:08:39 -05:00
Pat Hartl
134ca81c07 Added ability to add multiple Steam profiles, handle login + logout 2025-08-12 18:52:58 -05:00
Pat Hartl
46c4a4d7a4 Merge branch 'main' of https://github.com/LANCommander/LANCommander 2025-08-10 18:08:17 -05:00
Pat Hartl
2b711b5017 Fix lookup of game metadata when adding new game 2025-08-10 18:08:14 -05:00
Bastien Vidé
2b581f4aa3 Added redistributables to Games API and Games manifest 2025-08-10 18:47:00 +02:00
Bastien Vidé
93b25f8fd7 Fixed an issue where game scripts were not in the manifest, nor in the game API 2025-08-08 13:27:09 +02:00
Pat Hartl
9c98f8b5c5 Port server API routes to endpoints, add start/stop/getstatus
Implements #325
2025-08-07 23:35:50 -05:00
Pat Hartl
f6d031e9dd Restore old manifest for API endpoint 2025-08-06 19:37:31 -05:00