Summary
EditIssuePage.razor uses IssueForm which collects Title, Description, CategoryId, and StatusId. When the user submits, the handler builds an UpdateIssueCommand with only Description — changes to Title, Category, and Status are silently lost.
Root Cause
// EditIssuePage.razor — HandleSubmit
var command = new UpdateIssueCommand
{
Id = ObjectId.Parse(Id),
Description = request.Description
// Title, CategoryId, StatusId are missing!
};
Work Required
- Inspect
UpdateIssueCommand to confirm available fields
- Update
HandleSubmit to include Title, CategoryId, StatusId from the form request
- If
UpdateIssueCommand / UpdateIssueHandler don't support these fields, add them
- Verify the edit round-trip: load issue → change title + category → save → detail page reflects changes
Note on Pattern
A similar bug likely exists in UpdateCategoryCommand (EditCategoryPage only sends CategoryDescription, not CategoryName) and UpdateStatusCommand. Those should be audited in the same PR.
Acceptance Criteria
Files
src/Web/Components/Features/Issues/EditIssuePage.razor
src/Api/Handlers/Issues/UpdateIssueHandler.cs
src/Shared/ (UpdateIssueCommand definition)
src/Web/Components/Features/Categories/EditCategoryPage.razor (audit)
src/Web/Components/Features/Statuses/EditStatusPage.razor (audit)
Summary
EditIssuePage.razorusesIssueFormwhich collectsTitle,Description,CategoryId, andStatusId. When the user submits, the handler builds anUpdateIssueCommandwith onlyDescription— changes to Title, Category, and Status are silently lost.Root Cause
Work Required
UpdateIssueCommandto confirm available fieldsHandleSubmitto includeTitle,CategoryId,StatusIdfrom the form requestUpdateIssueCommand/UpdateIssueHandlerdon't support these fields, add themNote on Pattern
A similar bug likely exists in
UpdateCategoryCommand(EditCategoryPage only sendsCategoryDescription, notCategoryName) andUpdateStatusCommand. Those should be audited in the same PR.Acceptance Criteria
Files
src/Web/Components/Features/Issues/EditIssuePage.razorsrc/Api/Handlers/Issues/UpdateIssueHandler.cssrc/Shared/(UpdateIssueCommand definition)src/Web/Components/Features/Categories/EditCategoryPage.razor(audit)src/Web/Components/Features/Statuses/EditStatusPage.razor(audit)