Skip to content

Upgrade .NET Core 3.1 → .NET 8, React 16 → 18#1

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/upgrade-application-features
Draft

Upgrade .NET Core 3.1 → .NET 8, React 16 → 18#1
Copilot wants to merge 4 commits intomainfrom
copilot/upgrade-application-features

Conversation

Copy link
Copy Markdown

Copilot AI commented Feb 25, 2026

Full stack upgrade from EOL frameworks to current LTS versions.

Backend (.NET)

  • netcoreapp3.1 → net8.0, enable nullable reference types, implicit usings
  • Minimal hosting model — merge Startup.cs into Program.cs
  • Replace deprecated WebClient with async HttpClient:
    // Before (synchronous, deprecated)
    using(var webClient = new WebClient()) {
        bytes = webClient.DownloadData(path);
    }
    // After
    bytes = await _httpClient.GetByteArrayAsync(path);
  • NuGet upgrades: HtmlAgilityPack 1.12.4, Newtonsoft.Json 13.0.4 (fixes CVE GHSA-5crp-9r3c-p9vr), Swashbuckle 6.9.0
  • Remove unused EPPlus dependency
  • Fix NullReferenceExceptionstoryNodes iterated without null check
  • Add bounds checking in ParseCombatSkill/ParseEndurance to prevent IndexOutOfRangeException
  • File-scoped namespaces, collection expressions, target-typed new

Frontend (React/TypeScript)

  • React 16 → 18 with createRoot API
  • Replace deprecated react-scripts-ts with react-scripts 5.0.1
  • Add tsconfig.json, replace any types with proper interfaces (Response, StoryState, ChapterData, etc.)
  • Convert class component wrappers to direct functional component exports
Original prompt

Please upgrade this application as much as possible.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits February 25, 2026 22:11
- Target framework: netcoreapp3.1 → net8.0
- Enable nullable reference types and implicit usings
- Adopt minimal hosting model (merge Startup.cs into Program.cs)
- Replace deprecated WebClient with HttpClient
- Update NuGet packages (HtmlAgilityPack 1.12.4, Newtonsoft.Json 13.0.4, Swashbuckle 6.9.0)
- Remove unused EPPlus dependency
- Use file-scoped namespaces, collection expressions, and target-typed new
- Fix potential NullReferenceException on storyNodes iteration

Co-authored-by: mrApptastic <30831839+mrApptastic@users.noreply.github.com>
- React 16 → 18 with createRoot API
- Replace deprecated react-scripts-ts with react-scripts 5.0.1
- Add TypeScript config and proper type annotations
- Convert class components to functional components
- Remove unused variables and fix return types (any → proper types)
- Add build output to .gitignore

Co-authored-by: mrApptastic <30831839+mrApptastic@users.noreply.github.com>
- Convert ImageHelper.ConvertToDataUrl to async (ConvertToDataUrlAsync)
- Update all callers to use async/await pattern
- Add bounds checking in ParseCombatSkill and ParseEndurance
- Use index-based keys in Data.tsx list rendering

Co-authored-by: mrApptastic <30831839+mrApptastic@users.noreply.github.com>
Copilot AI changed the title [WIP] Upgrade application to enhance functionality Upgrade .NET Core 3.1 → .NET 8, React 16 → 18 Feb 25, 2026
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