From 6565b4694c4b8ccd4f2d3362cdfc3d2fb1c61eaf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 23:54:21 +0000 Subject: [PATCH 1/3] Initial plan From 65ce004877078c14b6a2fd437d6df87d9331b89f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 20 Feb 2026 23:58:25 +0000 Subject: [PATCH 2/3] Fix Enum.Parse to Enum.TryParse with ignoreCase and safe fallback in IssueEntity.ToDomain Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com> --- src/Api/Data/IssueRepository.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Api/Data/IssueRepository.cs b/src/Api/Data/IssueRepository.cs index 747c699..c5683b6 100644 --- a/src/Api/Data/IssueRepository.cs +++ b/src/Api/Data/IssueRepository.cs @@ -171,11 +171,16 @@ public static IssueEntity FromDomain(Issue issue) public Issue ToDomain() { + // Fall back to Open if the stored value is unknown, empty, or has unexpected casing. + var status = Enum.TryParse(Status, ignoreCase: true, out var parsedStatus) + ? parsedStatus + : IssueStatus.Open; + var issue = new Issue( Id: Id, Title: Title, Description: Description, - Status: Enum.Parse(Status), + Status: status, CreatedAt: CreatedAt, UpdatedAt: UpdatedAt, Labels: Labels?.Select(l => new Label(l.Name, l.Color)).ToList() From cd7fc583da4298b97533239ad40677218e75a71a Mon Sep 17 00:00:00 2001 From: mpaulosky <60372079+mpaulosky@users.noreply.github.com> Date: Fri, 20 Feb 2026 16:12:48 -0800 Subject: [PATCH 3/3] Update src/Api/Data/IssueRepository.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/Api/Data/IssueRepository.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Api/Data/IssueRepository.cs b/src/Api/Data/IssueRepository.cs index c5683b6..da9f14b 100644 --- a/src/Api/Data/IssueRepository.cs +++ b/src/Api/Data/IssueRepository.cs @@ -171,10 +171,17 @@ public static IssueEntity FromDomain(Issue issue) public Issue ToDomain() { - // Fall back to Open if the stored value is unknown, empty, or has unexpected casing. - var status = Enum.TryParse(Status, ignoreCase: true, out var parsedStatus) - ? parsedStatus - : IssueStatus.Open; + // Fall back to Open if the stored value is unknown, empty, has unexpected casing, or is not a defined status. + IssueStatus status; + if (Enum.TryParse(Status, ignoreCase: true, out var parsedStatus) + && Enum.IsDefined(typeof(IssueStatus), parsedStatus)) + { + status = parsedStatus; + } + else + { + status = IssueStatus.Open; + } var issue = new Issue( Id: Id,