Skip to content

Improve project quality and upgrade to .NET 9#5

Merged
discostu105 merged 2 commits intomasterfrom
claude/analyze-project-quality-SJYhC
Mar 21, 2026
Merged

Improve project quality and upgrade to .NET 9#5
discostu105 merged 2 commits intomasterfrom
claude/analyze-project-quality-SJYhC

Conversation

@discostu105
Copy link
Copy Markdown
Owner

Summary

  • Project quality fixes: Added .editorconfig, removed unused azure-pipelines.yml, fixed thread-safety issues with lock statements in repository classes, removed unused imports, improved Program.cs configuration
  • CI fix: Updated GitHub Actions workflow from .NET 5 to current SDK version
  • .NET 9 upgrade: Migrated all 11 projects from net8.0 to net9.0, bumped all Microsoft.* packages to 9.0.0, updated third-party packages (xunit, BenchmarkDotNet, Serilog, coverlet, etc.)

Test plan

  • Verify CI build passes with .NET 9 SDK
  • Run dotnet test locally to confirm all tests pass
  • Smoke-test the Blazor frontend and game server

https://claude.ai/code/session_01PeKjLeL9dZx8eR2hVsqCzA

claude added 2 commits March 21, 2026 21:39
- All 11 projects: net8.0 → net9.0
- Microsoft.* packages: 8.0.0 → 9.0.0
- AspNet.Security.OAuth.Discord: 6.0.10 → 9.0.0
- Serilog.AspNetCore: 8.0.0 → 9.0.0
- BenchmarkDotNet: 0.13.7 → 0.14.0
- xunit: 2.4.2 → 2.9.3, coverlet: 3.1.2 → 6.0.2
- Microsoft.NET.Test.Sdk: 17.8.0 → 17.12.0
- CI workflow: 8.0.x → 9.0.x

https://claude.ai/code/session_01PeKjLeL9dZx8eR2hVsqCzA
The global.json pinned SDK version 8.0.418 with latestMinor roll-forward,
which prevented the .NET 9 SDK installed in CI from being used.

https://claude.ai/code/session_01PeKjLeL9dZx8eR2hVsqCzA
@discostu105 discostu105 merged commit 9e9f1df into master Mar 21, 2026
1 check passed
discostu105 added a commit that referenced this pull request Mar 30, 2026
- Convert GameLobbyViewModels to record types (Architect blocking #1)
- Add GameDefType and EndTime fields to GameSummaryViewModel and GameInfo (Architect required #5)
- Fix AddPlayer() race condition: move PlayerCount update inside lock, return bool for duplicate-join detection (Architect blocking #2 and #3 / QA blocking #2)
- Fix duplicate-join: return Conflict(409) if player already joined (Architect blocking #2)
- Add [AllowAnonymous] to GetAll() — game list is a public endpoint per BGE-131 plan (Architect required #4)
- Update controller to use record constructor syntax and handle AddPlayer bool return

Build: 0 errors | Tests: 117/117 passed

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants