Commit graph

54 commits

Author SHA1 Message Date
Pat Hartl
fa63e8e95a Add uninstall script to Redistributables 2026-06-19 20:37:13 -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
52dd3f23ba Add "Package" button to archive page w/ dialog 2026-05-27 20:42:23 -05:00
Pat Hartl
c27496ec2f Add run wrapper script to list of available Redistributable scripts 2026-05-25 15:32:14 -05:00
Pat Hartl
4965d2019b Fix redistributable/tool importing 2026-05-24 18:51:58 -05:00
Pat Hartl
0200a6df5c Add package as a valid script type for redistributables 2026-05-17 13:53: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
4a0e0115ec Fix saving scripts on Games, Tools, Redistributables 2026-03-13 00:45:21 -05:00
Pat Hartl
2bdd1ed261 Fix alignment of action buttons in list pages 2026-02-08 16:09:51 -06:00
Pat Hartl
f28e942a25 Fix redistributable archive editor 2026-02-08 02:20:19 -06:00
Pat Hartl
7be1f54b9f Display loading indicator when opening export dialog 2026-01-25 17:41:01 -06:00
Pat Hartl
b570ff0713 Fix export button for servers and redistributables 2026-01-24 23:35:58 -06:00
Pat Hartl
9415a31707 Fix redistributable and server script editors, add packaging for redistributables 2026-01-24 23:35:39 -06:00
Pat Hartl
786204f49d Fix redistributables index 2025-08-01 02:35:23 -05:00
Pat Hartl
a5dab5c094 Merge branch 'main' into refactor/optional-import-export
# Conflicts:
#	LANCommander.Server.Services/GameService.cs
#	LANCommander.Server.Services/ImportService.cs
#	LANCommander.Server.Services/Importers/GameImporter.cs
#	LANCommander.Server.Services/UserService.cs
#	LANCommander.Server/UI/Components/AvatarUploader.razor
#	LANCommander.Server/UI/Components/ImportUploadDialog.razor
2025-07-25 18:42:39 -05:00
Pat Hartl
2e073e9332 Render export dialog, resolve circular DI issues
- Fixed circular DI issues with importers and importer context
- Added additional mappings for data <-> manifest models
- Avoid null reference exceptions when trying to export archives/media where files don't exist
- Consolidate import dialogs
- Render selectable flags in export dialog
- Fixed various media uploaders to use new MediaService.WriteToFile
2025-07-19 17:39:55 -05:00
Pat Hartl
1e7578772f Put addons (mods/expansions) nested under base game in list 2025-05-23 02:17:06 -05:00
RattleSN4K3
decb50ec2c Remove RouterLink on General for new entry, leading to zero-guid-page 2025-05-05 22:43:48 +02:00
RattleSN4K3
6de3852b9f Fix accessing Redistributable page crashing for non existing item 2025-05-05 22:43:48 +02:00
RattleSN4K3
70789784c2 Fix deleting Redistributable not updating view 2025-05-05 22:43:46 +02:00
Pat Hartl
74f2f67a99 Render times in UI as local time zone 2025-03-17 02:02:17 -05:00
Pat Hartl
2877a79b64 Make various fields autofocus 2025-02-23 09:27:34 -06:00
Pat Hartl
e8627b6a87 Use generic implementations 2025-02-16 10:08:05 -06:00
Pat Hartl
75117f1ecd Display message on redistributable updated/added 2025-02-09 19:37:23 -06:00
Pat Hartl
90efb85045 Add searching, order by title to redist transfers 2025-02-03 00:43:44 -06:00
Pat Hartl
af08645396 Remove use of DatabaseServiceFactory, update service dependency injection 2025-02-01 02:21:34 -06:00
Pat Hartl
3246f921c5 Add new script types to redist script editor 2025-01-31 01:49:45 -06:00
Pat Hartl
463926361c Change height of redists transfer input 2025-01-31 01:49:19 -06:00
Pat Hartl
4ef1c7be21 Optional column picker, working search, show totals, pagination options 2025-01-28 18:23:49 -06:00
Pat Hartl
71c65059a0 Fix redistributable editing
Some checks failed
Publish SDK NuGet Package / publish (push) Failing after 1m29s
LANCommander Release / prep (push) Has been cancelled
LANCommander Release / build_server_linux-arm64 (push) Has been cancelled
LANCommander Release / build_server_linux-x64 (push) Has been cancelled
LANCommander Release / build_server_osx-arm64 (push) Has been cancelled
LANCommander Release / build_server_osx-x64 (push) Has been cancelled
LANCommander Release / build_server_win-arm64 (push) Has been cancelled
LANCommander Release / build_server_win-x64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-x64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-x64 (push) Has been cancelled
LANCommander Release / build_launcher_win-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_win-x64 (push) Has been cancelled
LANCommander Release / build_release (push) Has been cancelled
2025-01-28 17:54:30 -06:00
Pat Hartl
3fdda2247a Add edit button for redistributables
Some checks failed
Publish SDK NuGet Package / publish (push) Failing after 1m31s
LANCommander Release / prep (push) Has been cancelled
LANCommander Release / build_server_linux-arm64 (push) Has been cancelled
LANCommander Release / build_server_linux-x64 (push) Has been cancelled
LANCommander Release / build_server_osx-arm64 (push) Has been cancelled
LANCommander Release / build_server_osx-x64 (push) Has been cancelled
LANCommander Release / build_server_win-arm64 (push) Has been cancelled
LANCommander Release / build_server_win-x64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_linux-x64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_osx-x64 (push) Has been cancelled
LANCommander Release / build_launcher_win-arm64 (push) Has been cancelled
LANCommander Release / build_launcher_win-x64 (push) Has been cancelled
LANCommander Release / build_release (push) Has been cancelled
2025-01-28 01:00:07 -06:00
Pat Hartl
d22552aa55 Fix spacing on tables, use datatable where possible 2025-01-20 20:00:15 -06:00
Pat Hartl
dc4a49d71a Convert more tables to data tables 2025-01-20 01:23:07 -06:00
Pat Hartl
ed0e85e954 Move more tables to data tables 2025-01-19 14:50:12 -06:00
Pat Hartl
f41edd9912 Fix redist games input 2025-01-14 17:37:54 -06:00
Pat Hartl
66c589c468 Update to AntBlazor v1.1.0 2024-12-31 18:21:41 -06:00
Pat Hartl
8ae0b39925 Fix game counts 2024-11-27 21:08:58 -06:00
Pat Hartl
a7ddb76937 Add pagination to metadata, redistributable, and server lists 2024-11-27 21:01:25 -06:00
Pat Hartl
ffb67180b1 Add eager loading for CreatedBy and UpdatedBy 2024-11-27 19:55:37 -06:00
Pat Hartl
5de9eccce1 Adjust Blazor server-side to pull data with new context 2024-11-25 22:29:56 -06:00
Pat Hartl
f62d43500f Standardize private method signature 2024-11-22 02:05:44 -06:00
Pat Hartl
1dda11dd0a Switch dependency injection for services that access database 2024-11-22 02:04:04 -06:00
Pat Hartl
00b9ca5953 Rename service and repository methods to async 2024-11-12 18:32:46 -06:00
Pat Hartl
cdd8f31f93 Use cached results for indexes 2024-10-30 18:14:06 -05:00
Pat Hartl
991771a7f3 Use string constant for administrator role name 2024-10-16 02:06:02 -05:00
Pat Hartl
2805f34449 WIP fix for MySQL connection concurrency issues
This is a large commit. There are a number of things that this commit does to try to fix various issues that were occurring when the database provider was set to MySQL:
- The DAL `Repository` has been completely refactored to follow best practices. The repository is now being injected into services instead of the database context itself. This allows the DI to handle the repository's lifetime instead of creating a new repository for every transaction and sharing the context across repositories. As part of these changes, there is no more allowed usage of `IQueryable` and all service/repository methods must actually execute database queries before their return. This is to ensure that the context does not stay open longer than it needs to. Abusing `IQueryable`s by tossing them into Blazor components seems to be a big no-no.
- Some deletion behaviors on relationships have been tweaked as MySQL wasn't able to apply migrations with behaviors that were contradictory.
- A `ConnectionInterceptor` was added to try to keep track of `DatabaseContext` lifetimes. This is really only for debugging and should be put into `#if DEBUG` regions. This helped identify some potential issues where some contexts were basically never closing, causing the MySQL connector to not function.
- Docs for generating migrations have been updated to reflect the addition of being able to specify the database provider and connection string when adding a migration, avoiding the need to edit `Settings.yml`
- The application can now be put into a pause state on startup by adding the `--debugger` argument when used from the command line. When a debugger is attached, it resumes execution.
- The application can now log to Seq when using debug build
- Service lifetime on `DatabaseContext` has switched to transient. This may be reverted in the future.
- Lazy loading has been disabled for debugging purposes. It didn't directly help the concurrency issues, but it needs to be tested individually to be re-enabled.
- All usage of `UserManager`, `RoleManager`, and `SignInManager` have been removed from all controllers, pages, and Blazor components. Functionality has been moved to `UserService` and `RoleService`. This might have done the most amount of help, but could probably be improved upon in the future by not relying on them and instead having our own implementation.
- Application startup migrations and server autostarts have been disabled temporarily. There might be an issue of `DatabaseContext` lifetimes that spawn from this.
2024-10-13 20:42:45 -05:00
Pat Hartl
a40de21fc7 Rename settings models 2024-10-07 18:38:27 -05:00
Pat Hartl
b93d56a599 Add games selector to redist edit, game count on list 2024-09-19 19:37:42 -05:00
Pat Hartl
a5ebc7c8ce Force page load when redirecting 2024-09-19 19:37:00 -05:00