Skip to content
Added
completionPct field (0-100) added to MCP list_milestones response,
alongside new taskCount and doneCount fields.
completionPct field added to MCP get_milestone_summary and REST
GET /milestones/{name}/summary responses.
- Shared
extractErrorMessage() utility for parsing Zod validation errors and
API error responses into human-readable strings.
- Required field markers (asterisk labels) on all sidenav forms with
client-side validation before API submit.
Fixed
- API layer (
api.js): all data-fetching methods now validate response.ok
before calling .json(). Previously, server errors (4xx/5xx) could cause
silent failures or crash the JSON parser.
- Batch update in list view:
.json() was called before checking response.ok,
which could crash on error responses.
- Error handling across 27 sidenav modules: replaced generic “Error” and
“Failed to save” toast messages with parsed error details from the server
response (Zod field-level validation, HTTP status messages).