Commit graph

3647 commits

Author SHA1 Message Date
Pat Hartl
1e1e83626a Test coverage plan for SDK 2026-04-13 03:48:28 -05:00
Pat Hartl
c7e26e1051 Tests for common extension methods 2026-04-13 03:24:40 -05:00
Pat Hartl
4df61fa044 Remove old tests, add CI workflow, add tests for saves 2026-04-13 02:53:39 -05:00
Pat Hartl
5b9b63cf09 Fix built output to .NET 10 2026-04-12 20:18:44 -05:00
Pat Hartl
b8cba6b024 Use observable collection for chat messages 2026-04-12 20:00:44 -05:00
Pat Hartl
415c804f7f Add missing method implementation 2026-04-12 20:00:18 -05:00
Pat Hartl
0ae9cb127b Merge branch 'main' of https://github.com/LANCommander/LANCommander 2026-04-12 19:59:56 -05:00
Pat Hartl
07ec314370 Fix .NET 10 build 2026-04-12 19:59:53 -05:00
Pat Hartl
c48bf31db1 Made allocation method on key nullable, added manual assign key dialog, reworked how the next available key is chosen 2026-04-12 19:58:47 -05:00
Pat Hartl
8fb5779070 Add migration for ratings 2026-04-12 19:55:43 -05:00
Pat Hartl
6013cd8cdf Fix download status message when downloading 2026-04-12 00:19:08 -05:00
Pat Hartl
5a96d58b68 Update install status after install 2026-04-12 00:18:44 -05:00
Pat Hartl
ce85bf4531 Load manuals and actions after install 2026-04-12 00:18:26 -05:00
Pat Hartl
063e8c0580
Merge pull request #400 from MasterMNB/main
Avalonia Launcher GameDetailView Back Button should now be more usable.
2026-04-11 01:40:48 -05:00
MasterMNB
2813e682dd Change of the background color to same color of title bar.
And class name to Glass.Dark, plus a fix in the ColorPalette.axaml.
2026-04-11 01:02:21 +02:00
MasterMNB
bd5b053a59 Avalonia Launcher GameDetailView Back Button should now be more usable. 2026-04-10 21:34:56 +02:00
Pat Hartl
7f801cde22 Bump CLI to 10.0 2026-04-10 02:22:47 -05:00
Pat Hartl
f9863043d1 Bump to .NET 10 2026-04-10 02:19:50 -05:00
Pat Hartl
afa20bee72 Merge branch 'avalonia-launcher' 2026-04-10 01:52:20 -05:00
Pat Hartl
c62a8f105d Nightly builds for Avalonia launcher 2026-04-10 01:01:38 -05:00
Pat Hartl
c9fb738a21 Update to .NET 10 2026-04-10 00:54:43 -05:00
Pat Hartl
0e612faf3e Include multiplayer modes in depot results 2026-04-09 21:50:58 -05:00
Pat Hartl
540e498ecc Fix filtering, hide installation status in action bar, add install status to download queue progress, reorganize detail view 2026-04-09 21:50:28 -05:00
Pat Hartl
3c17c4ac8d Adjust download progress positioning, fix icon 2026-04-08 18:08:06 -05:00
Pat Hartl
91a56c5d3b Fix uninstall -> reinstall not working correctly 2026-04-08 18:07:32 -05:00
Pat Hartl
3494c48cc0 Fix library button, default to library view 2026-04-08 17:56:13 -05:00
Pat Hartl
a90b45f2ee Make add to library button square 2026-04-08 17:55:50 -05:00
Pat Hartl
2f42ab7c76
Merge pull request #398 from akifreak/fix-game-archive-upload
Improve game archive upload
2026-04-07 23:42:07 -05:00
Pat Hartl
354c92851a Fix server selection 2026-04-07 23:12:41 -05:00
Pat Hartl
caee4ca4e0 Separate views for library vs depot 2026-04-07 23:12:22 -05:00
Pat Hartl
0ab6ee5262 Basic chat window 2026-04-07 23:10:45 -05:00
Pat Hartl
319b762fd7 Error message in server selection 2026-04-07 23:08:16 -05:00
Pat Hartl
5debc68697 Restyle detail view, move metadata to right side under cover 2026-04-07 23:07:51 -05:00
Pat Hartl
a6b0b1e90e Adjust contents of empty in download queue 2026-04-07 23:07:19 -05:00
Pat Hartl
bb08c56012 Style IconButton, remove library section of game details in favor of single button 2026-04-07 23:07:06 -05:00
Pat Hartl
b5b13a34c1 Style badge 2026-04-07 23:06:19 -05:00
Pat Hartl
5d2e271e59 Add IconButton control 2026-04-07 23:05:48 -05:00
Pat Hartl
777333c46b Make LC controls default namespace 2026-04-07 23:05:36 -05:00
Pat Hartl
ae0f67869c Fix clipping with carousel 2026-04-05 01:32:25 -05:00
Pat Hartl
6b61c28e39 Fix in library icons 2026-04-04 17:53:51 -05:00
Pat Hartl
fe307e4b7e Fix depot search layout 2026-04-04 17:53:41 -05:00
Pat Hartl
1a5c74aea4 Standardize class names 2026-04-04 17:53:26 -05:00
Pat Hartl
1fab7324f3 Fix alignment of carousel controls, styling 2026-04-04 17:52:52 -05:00
Pat Hartl
95f376f9b2 Fix icon color, rendering 2026-04-04 17:52:29 -05:00
akifreak
80bb5d59ee Replace var with const/let and remove unused variable in ChunkUploader
- var request and var response in Init() → const (never reassigned,
  var is function-scoped and hoisted which is undesirable in class methods)
- let formData in UploadChunk() → const (never reassigned)
- chunkResponse in UploadChunk() removed (assigned but never read)
- let start in GetChunks() → const (never reassigned)
- var percent in UpdateProgressBar() → const (never reassigned)
2026-04-04 15:05:06 +02:00
akifreak
7dbb1b7619 Remove unused UploadInitResponse import from ChunkUploader 2026-04-04 15:05:06 +02:00
akifreak
171c409ccc Pass correct archive ID to OnArchiveUploaded callback
Archive is the local form model used for version/changelog input.
On a new upload Archive.Id is Guid.Empty, so callers received an
empty GUID instead of the real database ID. Pass uploadedArchive.Id,
which is the record fetched from the database after the upload
completes.
2026-04-04 15:05:06 +02:00
akifreak
8254a212c3 Reset Uploading flag in finally block after Start()
If ChunkUploader.Start() threw a JS interop exception Uploading was
left as true permanently, disabling the Upload and Cancel buttons
for the rest of the session without any visible error. Using a
finally block ensures the flag is reset whether the call succeeds,
throws, or is cancelled.
2026-04-04 15:05:06 +02:00
akifreak
d61b8b2ae4 Fix FileMode.Append conflicting with explicit fs.Position seek
FileMode.Append forces all writes to the end of the file, making
fs.Position assignments ineffective. This works by accident on a
fresh sequential upload but will silently corrupt the file on any
retry, since chunks are re-sent from their original offset but land
at the current end instead. Use FileMode.OpenOrCreate so the seek
to chunk.Start is honoured.
2026-04-04 15:05:06 +02:00
akifreak
c37be528ca Require administrator authorization on upload endpoints
/api/Upload/Init and /api/Upload/Chunk had no authorization policy,
meaning any unauthenticated request could create archive database
records and write arbitrary data to server storage. Every other
endpoint group in the application requires authorization; apply
the same administrator role requirement here.
2026-04-04 15:05:06 +02:00