Commit graph

4059 commits

Author SHA1 Message Date
Pat Hartl
c7d426aa85 Include full Phosphor icon library 2026-04-03 19:27:37 -05:00
Pat Hartl
0f042f7cf9 Show grid image in inline image if exists 2026-04-03 19:26:10 -05:00
Pat Hartl
5f3621dfb3 Add Steam video and screenshot downloads 2026-04-03 19:24:49 -05:00
Pat Hartl
73ab3edf0f Add Avalonia debug tools. Update Notify.NET 2026-04-03 19:24:30 -05:00
Pat Hartl
3bf6ea86f5 Add "Verifying Files" install status 2026-04-03 19:23:52 -05:00
Pat Hartl
a8e0e7f820 Code cleanup 2026-04-03 19:23:30 -05:00
Pat Hartl
7deb435e98 Initial support for grid image, screenshots, video 2026-04-03 19:22:26 -05:00
Pat Hartl
5ae9c88c0f Handle elevated script execution 2026-04-03 19:20:40 -05:00
akifreak
910504b7df Remove leftover debugger statement from ChunkUploader.Init 2026-04-03 21:22:22 +02:00
akifreak
a7bd41ff9d Fix game archive upload in web ui
bundle.js is built by webpack as an ES module (output.library.type:
'module'), ending with named exports such as:

  export { Be as ChunkUploader, s as InfiniteScroll, ... }

All three inclusion sites (App.razor, _Layout.cshtml,
ScriptLoader.razor) loaded it via a plain <script> tag, which is for
classic scripts only and does not support the 'export' keyword.

Edge throws a visible SyntaxError and uploading does not work.

Fixed by adding type="module" to the bundle.js script tag in all three
locations.
2026-04-03 21:21:40 +02:00
Pat Hartl
bcfa9768fc Add ratings to DB. Add popular/backlog games to depot. 2026-04-01 23:13:33 -05:00
Pat Hartl
fc1e643ac6 Fix logo sizing 2026-04-01 01:39:54 -05:00
Pat Hartl
3efd0de707 Fix text colors 2026-04-01 01:39:40 -05:00
Pat Hartl
8f1084764c Add indeterminate progress bar for login status message 2026-04-01 01:12:53 -05:00
Pat Hartl
42cdf5fef8 Adjust styling of inputs, login/server select views 2026-04-01 01:09:30 -05:00
Pat Hartl
fd29bc0f01 Theme / UI tweaking, localization, notifications
- Started adding localization resources
- Implemented notifications using Notify.NET
- Reworked many control styling to use overall app theme instead of controlling them individually
- Adjusted display of play button in different states
- Fixed cover in download queue"
- Added play actions overlay
- Fixed grouped view reference to bitmap converter
2026-03-31 21:19:47 -05:00
Pat Hartl
38eb9368ee Fix cover box shadow, moved cover button to separate component 2026-03-29 00:53:06 -05:00
Pat Hartl
39ac37709d Add hot reload, Avalonia dev tools 2026-03-28 21:12:33 -05:00
Pat Hartl
f486b48c8d Split depot/library layouts to views, add advanced options to filter 2026-03-28 21:12:04 -05:00
Pat Hartl
42732ce733 Increase opacity of title bar 2026-03-28 21:11:11 -05:00
Pat Hartl
fc1a1f1df3 Make install overlay full height/width 2026-03-28 21:10:56 -05:00
Pat Hartl
222492a24b Continue to tweak UI, add notifications, partial add gamepad support
- Add backgrounds for login / splash
- Fix logo to use uncut version
- Update titlebar icon
- WIP implementation of notifying on install complete/fail with cross-platform support
- WIP support for gamepads using SDL2
- Add lancommander:// protocol support for navigating to a specific game (currently used for notifications)
- WIP support for updating taskbar progress
- Don't show "in library" checkmark in library view
- Change back button text based on active view
- Adjust styling of download queue
- Add grouping by first letter + index control
- Change titlebar title based on view selected
- Adjust how titlebar overlaps main content
- Make chips clickable in game details
- Add overlay for game install options
- Add resizing to window
2026-03-28 16:59:33 -05:00
Pat Hartl
5dd1f7b54a WIP visual testing 2026-03-27 19:00:26 -04:00
Pat Hartl
4f3b3efb96 Normalize file paths when writing text files 2026-03-27 19:00:03 -04:00
Pat Hartl
46ba19558f Fix display resolution variable injection for Linux 2026-03-27 18:59:44 -04:00
Pat Hartl
81a6a3a0fc Rework views / interactions
- Added a horizontal and list view for depot/library
- Games only show covers (with fallback cover)
- Added install addon / directory select dialog
- Fixed download queue
- Added footer somewhat matching Blazor launcher
- Temporarily removed sidebar
- Implemented custom window chrome
- Added profile button
- Reworked game details to better match Blazor launcher
- Added grouping by genre, collection, or first letter
2026-03-27 18:59:17 -04:00
Pat Hartl
939e0b3313 Fix links throughout documentation 2026-03-23 00:50:06 -05:00
Aaron Powell
025d12e1ca Show loading screen during login-to-shell transition
After login succeeds, switch to the splash view with a 'Loading library...'
message and progress bar before running ShellViewModel.InitializeAsync().
This gives immediate visual feedback instead of leaving the user staring
at the login screen wondering if the app has frozen.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 15:18:23 +11:00
Aaron Powell
2da5aa0aa4 Fix token lost after IOptionsMonitor cache invalidation
TokenProvider.GetToken() was reading solely from settingsProvider.CurrentValue,
which rebuilds from the YAML file after configRefresher.RefreshAsync() calls
OnReload(). Since the settings file save is debounced by 1 second, the rebuilt
Settings object has a null token.

Fix: TokenProvider now keeps a local _cachedToken field that is set immediately
during SetToken() and used as the primary source in GetToken(), falling back
to the settings provider only for tokens loaded from disk (e.g., app restart
with stored credentials).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 15:12:57 +11:00
Aaron Powell
f8bc4edd18 Fix auth token race condition causing NullReferenceException after login
ApiRequestBuilder.UseAuthenticationToken() was reading the token eagerly
at construction time (line 22 initializer). After login, configRefresher.RefreshAsync()
calls OnReload() which invalidates the IOptionsMonitor cache. The next
CurrentValue access creates a new Settings from the YAML file, which hasn't
been persisted yet (1-second debounce), so the token is null.

Fix: read the token lazily from tokenProvider at the point of use instead
of capturing it at construction time. Remove the now-unused _token field.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 15:09:55 +11:00
Aaron Powell
73e310f349 Fix sidebar state issues on first login
- Initialize ShellViewModel fully before switching CurrentView in all paths
  (splash→shell, login→shell, offline→shell). Previously the UI rendered
  with uninitialized child ViewModels causing race conditions.
- Hide download queue panel entirely when no items (removes confusing
  'No active downloads' panel and empty header on first login)
- Collapsed download progress only shows when there's an active download

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 14:56:43 +11:00
Aaron Powell
a83528d743 Fix SDK API changes after merge from main
- Replace SDK.Client.Games with GameClient (resolved from DI directly)
- Rename ScriptClient methods to Game_ prefix: Game_RunInstallScriptAsync,
  Game_RunUninstallScriptAsync, Game_RunNameChangeScriptAsync,
  Game_RunKeyChangeScriptAsync

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-21 14:49:45 +11:00
Aaron Powell
3115ed4ea3 Merge branch 'main' into avalonia-launcher
# Conflicts:
#	Directory.Packages.props
2026-03-21 14:15:00 +11:00
Pat Hartl
0d7b2176d0 Update documentation 2026-03-20 01:20:24 -05:00
Pat Hartl
966e049c7e Fix installation of redistributables
Some checks failed
LANCommander SDK Release / prep (push) Failing after 14s
LANCommander SDK Release / publish (push) Has been skipped
LANCommander Release / prep (push) Failing after 29s
LANCommander Release / build_server_linux_arm64 (push) Has been skipped
LANCommander Release / build_server_linux_x64 (push) Has been skipped
LANCommander Release / build_server_osx_arm64 (push) Has been skipped
LANCommander Release / build_server_osx_x64 (push) Has been skipped
LANCommander Release / build_server_win_arm64 (push) Has been skipped
LANCommander Release / build_server_win_x64 (push) Has been skipped
LANCommander Release / build_launcher_linux_arm64 (push) Has been skipped
LANCommander Release / build_launcher_linux_x64 (push) Has been skipped
LANCommander Release / build_launcher_osx_arm64 (push) Has been skipped
LANCommander Release / build_launcher_osx_x64 (push) Has been skipped
LANCommander Release / build_launcher_win_arm64 (push) Has been skipped
LANCommander Release / build_launcher_win_x64 (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
2026-03-20 01:09:29 -05:00
Pat Hartl
dd99da6857 Fix missing docs 2026-03-20 00:41:28 -05:00
Pat Hartl
032ca4a313 v2.0.2 release notes 2026-03-20 00:06:04 -05:00
Pat Hartl
7cc857bcc8 Fix script editor bindings, update BlazorMonaco 2026-03-20 00:01:12 -05:00
Pat Hartl
7a7c154d49 Increased web socket message size. Fixes issue where changes in script editor for large scripts wouldn't take. 2026-03-19 23:58:06 -05:00
Pat Hartl
4a11e0af01 Fix launcher to only show actions pulled from server for installed games 2026-03-19 23:57:05 -05:00
Pat Hartl
582b244d4c Add downloads to releases 2026-03-18 01:43:10 -05:00
Pat Hartl
4b82dfe577 Add latest tag
Some checks failed
LANCommander SDK Release / prep (push) Failing after 10s
LANCommander SDK Release / publish (push) Has been skipped
LANCommander Release / prep (push) Failing after 18s
LANCommander Release / build_server_linux_arm64 (push) Has been skipped
LANCommander Release / build_server_linux_x64 (push) Has been skipped
LANCommander Release / build_server_osx_arm64 (push) Has been skipped
LANCommander Release / build_server_osx_x64 (push) Has been skipped
LANCommander Release / build_server_win_arm64 (push) Has been skipped
LANCommander Release / build_server_win_x64 (push) Has been skipped
LANCommander Release / build_launcher_linux_arm64 (push) Has been skipped
LANCommander Release / build_launcher_linux_x64 (push) Has been skipped
LANCommander Release / build_launcher_win_x64 (push) Has been skipped
LANCommander Release / build_release (push) Has been skipped
LANCommander Release / build_launcher_osx_arm64 (push) Has been skipped
LANCommander Release / build_launcher_osx_x64 (push) Has been skipped
LANCommander Release / build_launcher_win_arm64 (push) Has been skipped
2026-03-15 18:20:22 -05:00
Pat Hartl
be804b0910 v2.0.1 release notes 2026-03-15 17:49:09 -05:00
Pat Hartl
6276823f86 Fix variables on action run, populate server variables when retrieving actions 2026-03-15 17:15:50 -05:00
Pat Hartl
fef88f024d Fix play button state when starting game 2026-03-15 17:07:07 -05:00
Pat Hartl
a9d32c6bef Open debug window for elevated scripts 2026-03-15 17:06:37 -05:00
Pat Hartl
830f34b19d Restore lobby actions 2026-03-13 01:38:58 -05:00
Pat Hartl
1c2b068001 Fix regex for checking if script requires admin 2026-03-13 01:33:18 -05:00
Pat Hartl
4a0e0115ec Fix saving scripts on Games, Tools, Redistributables 2026-03-13 00:45:21 -05:00
Pat Hartl
36a0f3aee0 Fix long game start delays if no save exists on server 2026-03-11 23:59:21 -05:00