Pat Hartl
1983cf4bb3
Apply database migration on startup, add default install directory
2025-11-06 20:15:05 -06:00
Pat Hartl
707332b68e
Add null checks for participants and user
2025-11-05 23:42:36 -06:00
Pat Hartl
5a9606bf71
Fix redistributable not installing if no archives exist
2025-11-05 18:59:02 -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
7a562cdb10
Fix authentication limbo in launcher
2025-11-03 23:24:47 -06:00
Pat Hartl
e98d4d449a
Auth with RPC, simplify chat delegates, load threads and implement sending messages
2025-10-28 22:21:16 -05: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
9b14134ebf
Missing window code
2025-10-26 17:05:49 -05:00
Pat Hartl
d25003481c
Avoid exception stream progress update
2025-10-26 17:05:24 -05:00
Pat Hartl
ede0e814a5
Change how windows are created. Refactor SignalR client to be named subscriber. Call ChatClient static methods on response from SignalR chat client. Fix dependency loop with chat.
2025-10-25 22:00:50 -05:00
Pat Hartl
8b3bf3de7b
Add grace period to keep alive
...
Adds a grace period to the keep alive watchdog. This ensures that if the connection is severed for more than 10 seconds, it will then raise the ConnectionSevered event, thus displaying the notification of disconnection.
2025-10-22 00:09:18 -05:00
Pat Hartl
50401469c4
Notify progress on dispatcher thread
2025-10-22 00:07:48 -05:00
Pat Hartl
2076c6e93b
Allow different cookie policies for HTTP/S
2025-10-21 21:28:52 -05:00
Pat Hartl
ac223c6959
Move auth routes to endpoints, change OIDC response mode to query, fix link w/o antiforgery
2025-10-21 02:41:00 -05:00
Pat Hartl
30a1683c1b
Organize components
2025-10-15 21:47:28 -05:00
Pat Hartl
d85e716bbb
Add cancel install to launcher
...
Fixes #293
2025-10-15 21:26:40 -05:00
Pat Hartl
2f969a196d
Add ability to browse files on Linux/macOS
...
Fixes #349
2025-10-15 20:21:54 -05:00
Pat Hartl
9c86c4f99d
Add validation for base game for addons
...
Fixes #324
2025-10-12 21:07:59 -05:00
Pat Hartl
0812387c55
Switch OIDC to use configuration endpoints
2025-10-12 20:54:56 -05:00
Pat Hartl
c4217d7b41
Refactor HTTP streaming
...
Greatly reduces the amount of memory usage when streaming from the server by:
1. Shedding use of an internal MemoryStream
2. Using HttpCompletionOption.ResponseHeadersRead to start reading the stream without loading all of the HttpContent into memory
2025-10-09 02:16:20 -05:00
Pat Hartl
36761bede7
Fix configuration getting wiped on start
2025-10-08 20:45:57 -05:00
Pat Hartl
41f9191745
Register server configuration source refresher
2025-10-08 19:53:05 -05:00
Pat Hartl
14f8bfc372
Simplify settings write, increase debounce
2025-10-08 19:52:37 -05:00
Pat Hartl
cf73dca217
Increase debug logging
2025-10-08 19:51:44 -05:00
Pat Hartl
19db052fac
Send minimal response with server settings
2025-10-06 23:21:26 -05:00
Pat Hartl
694b8b9842
Use SettingsProvider when getting any settings
...
SettingsProvider uses IOptionsMonitor to maintain the current value of settings. This gets updates on YML file changes and since it's a single instance (instead of injecting IOptions<Settings>), consumers always have the latest values.
2025-10-06 20:29:34 -05:00
Pat Hartl
14e789beae
Fix loaded server config breaking local config
2025-10-06 19:25:42 -05:00
Pat Hartl
2b30158764
Implement debounce to avoid thrashing disk on settings update
2025-10-06 19:25:24 -05:00
Pat Hartl
3783dac472
Reload config on change
2025-10-06 19:24:18 -05:00
Pat Hartl
4968481460
Standardize YAML serializers
2025-10-06 19:23:49 -05:00
Pat Hartl
3d06db770a
Fix build for launcher CLI
2025-10-05 23:45:55 -05:00
Pat Hartl
d11200451a
Merge branch 'main' into development
2025-10-05 21:31:28 -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
c6bcb7e920
Refactor KeepAliveService to rely on IConnectionClient
2025-10-05 19:30:59 -05:00
Pat Hartl
e7653cb33e
Clean up selected library item main view
...
The library view was constructed to be a monolithic component. It has been split out to multiple components, with the potential for expansion into other library items types in the future (other than just a game). The handler for failed installs has also been moved to the queue.
2025-10-05 19:30:32 -05:00
Pat Hartl
f5cdea1afc
Handle connection state based on SignalR connection state
2025-10-05 17:52:37 -05:00
Pat Hartl
382a270b03
Simplify connection state management
2025-10-05 17:13:47 -05:00
Pat Hartl
0466fd38bd
Use SettingsProvider
2025-10-02 20:07:44 -05:00
Pat Hartl
ab73e9c4e0
Rework SettingsProvider
2025-10-02 19:41:47 -05:00
Pat Hartl
4cbf672bb1
Fix auth, API response deserialization
2025-10-01 18:45:30 -05:00
Pat Hartl
d21a7dfc0d
Store server address as string in Settings.yml
2025-09-29 19:51:16 -05:00
Pat Hartl
5cab1f3618
Remove old SettingsService, replace with Options pattern
2025-09-29 19:49:09 -05:00
Pat Hartl
6dd210af3c
Add workflow for making development builds
2025-09-27 16:41:20 -05:00
Pat Hartl
aaf65fcf09
Runnable launcher using new client
2025-09-27 16:39:54 -05:00
Pat Hartl
9050722890
Grab settings via authenticated API
2025-09-26 00:51:25 -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
22df6677bc
Remove settings interfaces
2025-09-26 00:33:59 -05:00
Pat Hartl
82024fb117
Remove unused includes
2025-09-25 19:53:04 -05:00