Doing some very bad cleanups for a merge in here like renaming a few fields (like the old column names) + `ByondCommand` + Removing deprecated API fields.
- Add one hub `/hubs/jobs`, strongly typed API included.
- Adjust request pipeline to support SignalR.
- Allow `Accept: text/event-stream` for SSE requests.
- Add client library support for hubs.
- Add integration tests.
- Add IPermissionSetNotifyee to support dynamic changes based on perms.
- Keep job state in `JobService` for pushing updates.
Wix is just better, it drives the fucking Visual Studio installer for gods' sakes. Thankfully, v4 is a whole lot better than v3 in that it's native dotnet tooling.
- Added ability to set base path for loading configuration files.
- Added Service command descriptions for help text.
- New `.exe` installer also installs dotnet dependencies.
- New `.msi` properly invokes configure, sets up and controls service, sends detach stop signal on upgrades, and uses ProgramData for configs with appropriate permissions.
- Remove .deb symlinks in favor of explicitly setting config directory.
- Adjust CI pipeline with new installer changes.
- Appropriately bump TGS migrator version.
- Add ErrorCode for if a BYOND installation delete attempt is made for the active version.
- Added ByondVersionDeleteRequest new parent of ByondVersionRequest.
- Added ByondRights.DeleteInstall.
- Added BYOND install delete support to client
- Made ByondExecutableLock use the reference counting system.
- Moved TrustDmbPath to ByondManager internals. Removes ByondExecutableLock's dependency on IIOManager.
- Ensured ByondManager doesn't deal in Versions where .Build == 0.
- Fixed race condition where ByondController could attempt to install a version in the scope of a request.
- Fixed long running DMAPI test code specifying a minimum security level of Ultrasafe when it writes files.
- Added JobsRequiredTest.WaitForJobProgress.
- Added BYOND installation deletion integration tests.
- Fixed modifying the user BYOND configuration having a race condition across instances.
- Various code cleanups.
- Switch off verbose console logger, should still run on errors.
- Add GitHubActionsTestLogger, use in CI.
- Pre-build integration tests to get better time metrics.
- Address various IDE messages
- Additional logging
- Do not access DB in Watchdog's actual Dispose
- Fix issue with legacy behaviour in PGSQL
- Remove obsolete dotnet workaround
- Update to v3 actions checkout/upload-artifact/download-artifact
- Bump all packages as high as possible
- ASP .NET Core packages to 3.1.10
- Add a warning about the annoying LoggerFactory issue in host watchdog project
- Add missing exception constructors to client
- Switch to using the correct .NET analyzers
- Remove lagacy user/pass header auth
- Use .WithToken on octokit calls
- Cleaned up ApiHeader validation failures and responses
- ApiController constructor parameter requireHeaders now defaults to true
- Added integration test for a bunch of 4XX errors
- All executables/tests to .NET Core 3.1
- All libs to .NET standard 2.1
- Exclude Tgstation.Server.Host and dependencies
- Exclude Watchdog library due to .NET framework incompatibility
- API and client to version 5.0.0
- Added a bunch more model validations
- Added error codes
- Added limits to database strings
- Redid client exceptions to be more sane
- Added configurable instance and user limits
- Always clamp rights to their valid ranges
- Add an error if the minimum password length is more than the string limit
- Fixed chat bot name contraints crossing instances
- Enforce that SIDs be unique globally
- Normalize instance paths to forward slashes on windows. Added to sanitizer
- Added migrations
- Added ApiAssert for testing error codes