Bug: /v1/export validates stitchObjects first, never reports invalid 'format' on empty input #29
Labels
No labels
blocked:needs-attention
blocked:needs-decision
bug
feature-request
in-progress
needs-decompose
quickfix
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/easystitch-service#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
POST /v1/exportwith{stitchObjects: [], format: "xxx"}returns the stitchObjects-empty validation error first and never surfaces the format-not-in-enum error. The error list is incomplete — clients see only the first failure and don't know the format value is also wrong.Reproduction
Compare with non-empty but bad format:
Three problems in one place
{stitchObjects: []}produces TWO detail entries (too_short+missing) — duplicationSuggested fix
too_short+missingentries for empty liststitchesfield inside eachStitchObject(currently it'slist[Point]with nomin_itemsconstraint)Environment
UI verification follow-up (2026-09-10)
The file upload barrier is now cracked (DataTransfer + Object.defineProperty + dispatchEvent). Confirmed via BrowserOS MCP
snapshotthat ThreadCraft's settings panel unlocks after upload but:act click/act kind=select/ PointerEvent sequence closes the dropdown without updating React state. The next snapshot re-shows the original option as[selected]. Captured React props via__reactPropsconfirmedonClickexists but does not fire under synthetic dispatch.e12or inner-modal Confirm & Edite65) sets Redux state to'digitizing'then'digitized'with a hardcoded "Auto-digitize complete!" message but never firesrunAutoDigitize()→digitize()→ POST to/v1/digitize. BrowserOS MCPhook fetchconfirmed only/healthzGETs during the click sequence. Service log shows zero digitize POSTs across the entire 2026-09-09/10 verification session.This means the UI cannot drive a digitize or export at all in the current ThreadCraft build. The API bugs (#27-31) are still the canonical surface; the UI bugs are symptom-level and tracked separately as #32 (silent no-op), #33 (combobox click swallowed), #34 (false-complete message). Those three will be closed as duplicates of this issue family once the canonical root causes land.
Visual verification (2026-09-09, via vision_analyze on
07_after_export_click.png): The Export Design dialog opens successfully with FILE NAME field "untitled", FORMAT options (PES/DST/SVG/PDF), and helper text "This design uses 0 Brother PR-10 thread stops" (the vision model misread "bristles" and "PF-10" — actual UI text per MCPreadtool earlier was "Brother PR-10"). The UI does NOT raise a "no design to export" error visible in the dialog. No clear rejection banner visible — the user only sees the export dialog open. The API bug (accepting empty stitchObjects) is masked by this permissive UI behavior.