Commit graph

26 commits

Author SHA1 Message Date
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
120e14d40c Add Tools section to server app
Allows users to upload additional tools and tie them to games. This can be useful for software like map editors, trainers, etc.
2026-02-08 02:24:53 -06:00
Pat Hartl
20731f355a Fix certain taxonomies (tag, genre, platform) being removed from game on save
Fixes the action, custom field, multiplayer mode, and save path editors from clearing out taxonomies when saving. Also passes the Game/Server/Redistributable ID as a cascading parameter.
2025-12-08 00:51:32 -06:00
Pat Hartl
da68c79991 Reload table after import 2025-12-05 16:28:39 -06:00
Pat Hartl
1e7578772f Put addons (mods/expansions) nested under base game in list 2025-05-23 02:17:06 -05:00
Pat Hartl
74f2f67a99 Render times in UI as local time zone 2025-03-17 02:02:17 -05:00
Pat Hartl
3ba8b703c8 Trigger table reload on script deleted
Fixes #218
2025-03-17 00:54:30 -05:00
Pat Hartl
b9f8e83a31 Change script editor table size, add name 2025-03-09 15:28:22 -05:00
Pat Hartl
7bacfe1929 Correctly filter server scripts
Fixes #194
2025-03-06 17:34:49 -06:00
Pat Hartl
d6b0ac8d48 Fix saving of scripts 2025-02-08 23:02:43 -06:00
Pat Hartl
cc5dd25136 Fix script editing 2025-02-04 20:58:08 -06:00
Pat Hartl
e9e5bc096d Move registration to AuthenticationService, add scripts for UserLogin and UserRegistration 2025-02-04 18:45:24 -06:00
Pat Hartl
af08645396 Remove use of DatabaseServiceFactory, update service dependency injection 2025-02-01 02:21:34 -06:00
Pat Hartl
298b92a4d3 Fix script editor data binding for null created by 2025-01-22 18:31:24 -06:00
Pat Hartl
4509d1394c Fix script editor query 2025-01-21 02:47:00 -06:00
Pat Hartl
d22552aa55 Fix spacing on tables, use datatable where possible 2025-01-20 20:00:15 -06:00
Pat Hartl
66c589c468 Update to AntBlazor v1.1.0 2024-12-31 18:21:41 -06:00
Pat Hartl
ac29523602 Fix display of created by for script editor 2024-11-30 19:34:49 -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
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
131479277b Consolidate enums 2024-08-12 00:15:16 -05:00
Pat Hartl
cb061e09c5 Rename server project 2024-08-04 18:44:33 -05:00
Renamed from LANCommander/UI/Components/ScriptEditor.razor (Browse further)