Commit graph

62 commits

Author SHA1 Message Date
Pat Hartl
f9863043d1 Bump to .NET 10 2026-04-10 02:19:50 -05:00
Pat Hartl
fec743a630 Copy static assets on publish 2026-01-20 00:47:47 -06:00
Aaron Powell
52642ccb25 Removing serilog from server 2025-12-11 16:18:33 +11:00
Pat Hartl
add770b227 Refactor Settings
Settings for the server are now combined with the settings from the SDK. This introduces a large breaking change and a migration should be created. This refactor utilizes .NET Configuration and the Options pattern. This will allow for the overriding of any setting using envionment variables. It also means that Settings.yml can be used to override any .NET configuration. A SettingsProvider implementation was created, and any updating of settings was changed from SettingsService.SaveSettings() to SettingsProvider.Update(s => { ... })
2025-11-16 12:31:25 -06:00
Pat Hartl
6dd4475e49 Centrally manage packages 2025-09-25 19:11:37 -05:00
Pat Hartl
91bead2ed7 Have launcher use AppData/Local if it has no write access to its base directory
Fixes #292
2025-08-18 17:49:17 -05:00
Pat Hartl
5ff81df3bc Add ASP.NET Aspire 2025-08-06 19:37:11 -05:00
Pat Hartl
6ec919d1be Separate import and export functionality
This refactor splits the import and export functionality out of the ImportContext and adds an ExportContext. This also introduced separate importer and exporter implementations.

Additionally, adding archive, save, scripts, and server files to the final export archive has been implemented at the exporter implementation for each instead of handling it in the context. This should be a good pattern if other files need to be added down the road.
2025-07-27 17:51:50 -05:00
Pat Hartl
b21641c769 Update AntBlazor 2025-05-23 02:17:45 -05:00
Pat Hartl
f55751bb5f Avoid dupes 2025-03-22 23:06:14 -05:00
Pat Hartl
35e548324f Fix server build 2025-03-22 22:55:08 -05:00
Pat Hartl
7e9573c570 Clean up csproj files 2025-03-22 03:22:51 -05:00
Pat Hartl
86c906f8db Add project for automated tests
Had to remove the responsibility of providing the current version of the application from UpdateService. A new IVersionProvider can be used to get the version. This also allows for this to be mocked in tests.
2025-03-15 21:00:00 -05:00
Pat Hartl
ba5b0462f0 Use webpack 2025-03-15 15:52:58 -05:00
Pat Hartl
2012f12379 Fix MySQL migrations
Fixes #168
2025-02-12 20:39:47 -06:00
Pat Hartl
5fde4b63b3 Switch to OpenApi 2025-02-09 01:23:33 -06:00
Pat Hartl
a29cc15350 Merge branch 'main' into add-logging-provider-configuration
# Conflicts:
#	LANCommander.Server/LANCommander.Server.csproj
#	LANCommander.Server/Program.cs
2025-02-08 18:15:35 -06:00
Pat Hartl
bb6e421e5f Consolidate packages 2025-02-08 12:43:20 -06:00
Pat Hartl
6f3f83eedf Copy service install scripts to output 2025-02-06 19:12:22 -06:00
Pat Hartl
eef0b01758 Add support for running as service 2025-02-06 19:11:33 -06:00
Pat Hartl
9e09257c5e WIP add ability to customize logging providers 2025-02-05 18:45:00 -06:00
Pat Hartl
402956aea1 Add snippets for new cmdlets 2025-02-05 01:21:25 -06:00
Pat Hartl
117f2d6c2b Update to .NET 9 2025-02-04 18:39:29 -06:00
Pat Hartl
04b62d14a5 Add auth provider templates to build 2025-01-22 18:35:17 -06:00
Pat Hartl
ce210fbde1 Bump version number 2025-01-22 01:47:01 -06:00
Pat Hartl
bf9ca2fc2d Map external user auths to users via custom fields 2024-12-29 18:58:01 -06:00
Pat Hartl
11e182413d Add ability to define external authentication providers 2024-12-28 03:48:15 -06:00
Pat Hartl
ce17b7999f Rework depot results, API docs via Scalar 2024-12-16 00:57:11 -06:00
Pat Hartl
d7e0646da4 Update packages 2024-12-06 23:30:00 -06:00
Pat Hartl
5f00f2100a Remove lazy loading 2024-11-27 01:51:47 -06:00
Pat Hartl
1fc74d22dd Add background job for generating all thumbnails 2024-11-05 19:39:32 -06:00
Pat Hartl
0821dfde5c Merge tag 'v1.0.4' into v1.1.0
# Conflicts:
#	LANCommander.Launcher.Services/InstallService.cs
#	LANCommander.Launcher.Services/ProfileService.cs
#	LANCommander.Launcher/UI/Components/DownloadQueue.razor
#	LANCommander.Launcher/wwwroot/css/app.css.map
#	LANCommander.SDK/Enums/InstallStatus.cs
2024-10-28 01:01:57 -05:00
Pat Hartl
365da83342 New UI layout, navigation on left side 2024-10-22 19:54:38 -05:00
Pat Hartl
42ca5c323a WIP MySQL concurrency fixes
- Removed the Blazor authentication pages and went back to Razor pages
- Fixed issues with dashboard charts that were pulling data on render and causing the database context to be open longer than it should
- Switched back to UserManager and RoleManager
- Temporarily disabled authentication state in pages that might try to use user claims/roles
- Reverted spacing changes to forms to allow for validation messages
- Moved initialization of database connection to database context
- Updated PostgreSQL provider
- Rescaffolded MySQL migrations
- Added a bunch of logging stuff that should eventually be stripped out
2024-10-21 20:06:52 -05:00
James Paussa
d13567a3eb bumping Server csproj version to 1.0.3 2024-10-21 10:52:27 +00:00
Pat Hartl
2056b06207 Working new login page 2024-10-18 19:15:05 -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
ba18096dde Update packages 2024-10-12 18:33:57 -05:00
Pat Hartl
f4257ade10 Add migrations for MySQL and PostgreSQL 2024-10-07 19:54:22 -05:00
Pat Hartl
91ee1d47a9 Move data and service layers to separate projects, update packages 2024-10-07 18:04:26 -05:00
Pat Hartl
d3edbecef5 Put NetBeauty back, switch to reusable workflows 2024-10-03 20:18:38 -05:00
Pat Hartl
4ea12e5e59 Try NetBeauty on publish only 2024-10-03 19:39:47 -05:00
Pat Hartl
fbc8c3fda9 Retry NetBeauty on server, skip bundling 2024-10-03 19:02:48 -05:00
Pat Hartl
b30c6e7801 Remove NetBeauty2 from server 2024-10-03 16:57:01 -05:00
Pat Hartl
337425345b Remove reference to old project 2024-10-02 12:28:57 -05:00
Pat Hartl
ebc9aa9ca0 Update packages 2024-09-26 20:13:59 -05:00
Pat Hartl
c254768007 Add NetBeauty to server 2024-09-26 20:13:12 -05:00
Pat Hartl
5ab5894f02 Include new snippets in csproj 2024-09-17 19:48:45 -05:00
Pat Hartl
bb63593fc7 Update packages across solution 2024-09-10 23:39:57 -05:00
Pat Hartl
85aceae60a Bump version for testing purposes 2024-09-09 18:22:19 -05:00