Commit graph

181 commits

Author SHA1 Message Date
Pat Hartl
f31925e399 Add runtime platform flag to actions, scripts, and save paths 2026-07-08 02:15:54 -05:00
Pat Hartl
833535c1d9 Persist datatable sort 2026-07-05 16:25:48 -05:00
Pat Hartl
c292979010 Fix persisted data table page sizes 2026-07-04 14:51:11 -05:00
Pat Hartl
f87756243e Add support for defining PowerShell modules
Adds a new section "Scripting" in the server UI where PowerShell modules can be defined. These can be used for defining a library of functions that can be used in any script. These modules are automatically synced to the launcher and imported upon script execution.
2026-06-28 23:02:35 -05:00
Pat Hartl
5a80d1e605 Refactor connection string input into full database connection component
Fixes #256
2026-06-28 18:23:58 -05:00
Pat Hartl
2f0e0daa3c Add "Select All" and "Load More" buttons to media grabber
Fixes #417
2026-06-27 23:13:11 -05:00
Pat Hartl
2910bc9476 If user libraries are disabled, hide Library from web UI
Ref #423
2026-06-27 18:14:22 -05:00
Pat Hartl
24eaa79885 Add tool to repack non-streamable ZIP archives
Adds a tool that checks archives to see if they use data descriptors instead of local entry headers for tracking entry size. It will also repack these archives if required.
2026-06-22 19:18:11 -05:00
Pat Hartl
516465ad1a Add WebP support for media 2026-06-22 17:05:47 -05:00
Pat Hartl
2e8e4ae3ae Allow selected local files for archive upload to be moved instead of copied
Fixes #413
2026-06-21 23:00:56 -05:00
Pat Hartl
0f03461f53 Add setting to auto redirect to external provider
When enabled, AutoRedirectToProvider will switch authentication challenges to redirect to the external auth provider instead of displaying the password login form. If more than one external provider is configured, a minimal external auth provider login page will be shown.

Ref #410
2026-06-21 01:59:15 -05:00
Pat Hartl
5ffabe8064 Merge branch 'main' into refactor/database-service-scope 2026-06-12 23:51:05 -05:00
Pat Hartl
ad8f4ddfbf Fix error thrown on first time setup when no storage locations exist 2026-06-12 23:49:04 -05:00
Pat Hartl
790311ac8d Various fixes for MySQL/MariaDB
- Regenerate migrations
- Fix identity database context lifetimes
- Fix rendering of edit components
- Move database settings to separate section
2026-06-12 23:48:11 -05:00
Pat Hartl
2c2d16146f Persist items per page
Fixes #296
2026-06-10 23:42:16 -05:00
Pat Hartl
ca713f6d3f Rework .reg importing in script editor
Script editor now supports drag and drop for .ps1, .reg, and other text files. .ps1 files will be handled by replacing the contents of the text editor. .reg files will be converted to PowerShell commands and inserted into the script editor. Any other text file will be inserted as an escaped string.
2026-06-10 20:19:06 -05:00
Pat Hartl
dc14bf10cb Fix use of Text component 2026-06-06 03:30:49 -05:00
Pat Hartl
0b260f65ff Fix display of redist picker 2026-06-06 03:19:12 -05:00
Pat Hartl
9c4854b6ad Expand file picker fields 2026-06-06 02:58:43 -05:00
Pat Hartl
77bc776c37 Add provider dropdown to media grabber dialog 2026-06-01 02:16:06 -05:00
Pat Hartl
af3ee00a87 Fix missing nested game data
Fixes #284
2026-05-29 02:36:47 -05:00
Pat Hartl
4948dbc0d5 Add background uploading
Fixes #298
2026-05-28 22:26:24 -05:00
Pat Hartl
02750d6d62 Improve file manager UX
- Faster enumeration of large directories
- Add toggleable columns
- Add Created and Type columns
- Fix breadcrumbs
- Properly build left view tree with support for cross-platform roots and special folders
2026-05-28 19:54:33 -05:00
Pat Hartl
638942ff89 Fix "Use Local File" disabled button 2026-05-28 19:52:23 -05:00
Pat Hartl
52dd3f23ba Add "Package" button to archive page w/ dialog 2026-05-27 20:42:23 -05:00
Pat Hartl
68b112d6ce Implement RunWrapper script execution for redistributables
RunWrapper scripts were defined as a script type but never executed. This adds full execution support during game launch, with proper game running state tracking and cancellation/stop support including child process cleanup.
2026-05-26 20:11:53 -05:00
Pat Hartl
4965d2019b Fix redistributable/tool importing 2026-05-24 18:51:58 -05:00
Pat Hartl
8a618706bd Add variable picker dialog 2026-05-24 00:42:10 -05:00
Pat Hartl
b52f83df1e Add repeatable options with list type 2026-05-18 22:04:03 +00:00
Pat Hartl
2c58c12ec6 Fix closing of upload dialog when file selected 2026-05-18 22:02:14 +00:00
Pat Hartl
97fdb68899 Add display names to option choices 2026-05-17 01:21:05 -05:00
Pat Hartl
38bd25513e Add Redistributable options to script editor 2026-05-16 19:57:59 -05:00
Pat Hartl
15bc84016a Add UI for editing option schema
- Moves Redistributables for games to separate panel
- Add option override for games
- Add Monaco completions for option schema editing
- Add UI for editing options for a redistributable
- Add config importing to translate from INI, JSON, XML, etc to redist option schema
2026-05-16 19:28:04 -05:00
Pat Hartl
ecdc5f9ce3 Add options to redistributables
Options are defined schema that the redistributable will allow a game to customize / override. This will be useful for install scripts on a redistributable. It opens up the opportunity to define a redistributable for something such as dgVoodoo and override options on a per-game basis without having to edit the config manually in the game's scripts.
2026-05-15 00:14:46 -05:00
Pat Hartl
b5e93cbb88 Fix completion rendering 2026-05-10 19:53:41 -05:00
Pat Hartl
885032547b Improve script editor with context-aware completions, validation, and UX
- Filter variable completions and hover by script type so only relevant variables appear (e.g. $AllocatedKey only in KeyChange scripts)
- Add inline validation warnings for package scripts missing New-Package and for variables used outside their valid script type
- Extend debug console to support tools and redistributables, add stop button and elapsed time display
- Disable minimap, enable bracket pair colorization and word wrap
- Add snippet insertion via Monaco snippet controller with selection replacement support
- Add script templates that auto-populate on new script creation
- Add Variables dropdown in editor toolbar based on current script type
- Change Add Script button to type-selection dropdown, auto-populate script name from type, remove Type field from editor dialog
- Move Requires Admin checkbox to toolbar row, move toolbar and editor outside Form to prevent dropdown clicks from closing the modal
- Set MaskClosable=false on script editor modals so Monaco autocomplete clicks don't dismiss the dialog
2026-05-10 19:33:48 -05:00
Pat Hartl
c1f0f4c7db Cleanup import files after completion 2026-05-07 23:40:17 -05:00
Pat Hartl
8d25b20c62 Add LANCommander HQ metadata/media provider 2026-05-07 01:11:41 -05:00
Pat Hartl
7e72df0651 Fix media grabbing 2026-05-01 01:10:58 -05:00
Pat Hartl
f0b85de93f Add multiple select support for media grabber 2026-04-30 02:16:17 -05:00
Pat Hartl
71de97e04f FIx preview page uploader. Add progress when downloading videos. Fix large video downloads. 2026-04-27 17:58:48 -05:00
Pat Hartl
3fe6bea7e5 Added "Preview" edit view, flesh out media picker
- Added sort order to media for screenshots and videos
- Added new "Preview" pane to game editor. Simulates the game details view in the launcher and allows for in-place media upload / grabbing
- Added abstractions for media grabbing
- Added subtitle to media picker dialog to indicate which services provide which assets
- Added preview for videos
- Made media searching faster overall
2026-04-24 02:05:56 -05: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
Pat Hartl
7cc857bcc8 Fix script editor bindings, update BlazorMonaco 2026-03-20 00:01:12 -05:00
Pat Hartl
4a0e0115ec Fix saving scripts on Games, Tools, Redistributables 2026-03-13 00:45:21 -05:00
Pat Hartl
4817c00939 Update SharpCompress, move to async extraction, add logging per entry on fail 2026-03-09 22:12:09 -05:00
Pat Hartl
53b9064418 Fix saving of new server scripts 2026-03-08 14:10:41 -05:00
Pat Hartl
b9daf08dea Fix passing of tool ID to uploader 2026-02-16 18:28:23 -06:00
Pat Hartl
3202df776a Fix console/http path saving in servers. Remove old export dropdown. 2026-02-08 15:03:15 -06:00