follow-up: verify #23 fix (multipart) against live browser end-to-end test #23
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#23
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?
Verified by QA task t_ec1232b4:
0a74a67,774e0c0,8da6c17all on origin/mainClosing as confirmed verified.
Auto-triage: needs decompose
Marked
triage-approved+needs-decompose. decompose-executor will pick this up and break it into implementable sub-issues.Fixed in commit
0a74a67(local, not pushed yet).digitize()insrc/lib/easystitch-client.tsnow sends multipart/form-data with the raw blob as theimagefile part and a JSON-stringified payload as thesettingspart — exactly matching the OpenAPIBody_digitize_endpoint_v1_digitize_postschema.Public signature is unchanged so callers (
useWorkspace.ts, test mocks) need no edits.Verification
npm test -- --runVITE_EASYSTITCH_INTEGRATION=1The new
digitize() happy path: sends multipart with image file part and JSON-stringified settingstest asserts:Content-Type: multipart/form-data; boundary=…name="image"andname="settings"field namesIt explicitly does NOT encode to base64.
Push?
Not pushed. Local commit on
mainahead of origin by 1. Ready when you say so.Mark referenced this issue2026-07-12 23:46:04 +00:00
Follow-up: while running end-to-end Playwright tests to verify this fix, I discovered that the first 422 a user sees after my fix is still in place — it's a SECOND bug. Filed as #26 (maxColors default of 13 exceeds service cap of 10). This surfaces only with real browser automation; my Python multipart verifier happened to use
max_colors: 4which dodged it.The multipart fix is correct, but the live UI still 422s on default settings. Until #26 is fixed, this fix alone is insufficient to make the UI round-trip successfully.
Workaround in the meantime: edit
digitize-adapters.ts:40-44to clamp at 10.Mark referenced this issue2026-07-13 00:05:39 +00:00
Update — fix is now end-to-end working after #26 (maxColors) and a follow-up bug (#27, null paletteIndex) were patched.
Live-browser verification just now:
POST /v1/digitize HTTP/1.1" 200 OK— engines parses, returns 600 stitchesFour issues remain in flight but unrelated to the multipart fix itself: #24, #25, #27 (filed today), #28 (filed today).
Frontend digitize() sends JSON body, backend expects multipart — every actual upload 422sto follow-up: verify #23 fix (multipart) against live browser end-to-end test