Export dialog doesn't warn when the selected format isn't compatible with the chosen machine profile (e.g. PR-680W persona, JEF format is a Janome format) #173
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#173
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?
Finding
The Export dialog (
src/components/workspace/ExportDialog.tsx) lets the user pick any of 4 formats (PES, DST, EXP, JEF) and the machine profile is selected independently in the Design Settings. The two are not cross-checked.src/lib/easystitch-client.ts:35-78defines the machine profiles with their target PES versions and thread systems. The help text atFORMAT_DESCRIPTIONS(line 47-52) maps formats to machine families:A Brother Entrepreneur (any of the 6 profiles) selecting JEF for export is the wrong choice — JEF is a Janome format, and Brother machines can't load it. The dialog still lets the user click Export, the service returns a valid blob (the service doesn't validate against the user's machine), and the user gets a
.jeffile they can't load.The reverse is also true: a Janome user with a hypothetical Janome profile (not currently supported) choosing PES gets a file Brother-only embroidery software might not load.
Where
src/components/workspace/ExportDialog.tsx:288-308(format grid) and:84-85(the exportRequest builds withdesignSettings.machineProfile).Suggested fix shape
Two options:
Warn the user. When the format isn't compatible with the selected machine profile, render an inline warning in the dialog (similar to
inlineError):Render: "PES is optimized for Brother / Babylock machines. Your selected profile is the Janome X, but the file will still be generated. Continue anyway?"
Or: add machine-profile-driven format filtering. Grey out incompatible formats; the user can still click them but sees a warning.
Option 1 is the smaller change. Option 2 is the right product move (matches the hoop size filtering by machine profile from #136).
Severity
Medium. A user gets a file they can't use, with no warning. The help text in the format grid (FORMAT_DESCRIPTIONS) is informational; the user has to read it AND match it against their machine profile.
Discovered by
Gap analysis (2026-10-02) of export pipeline.
Related
Fixed by commit
11e1a0don origin/main. formatCompatible() cross-checks the four service-supported formats against the active machine profile; a warm-amber export-format-warning banner renders under the format grid when there's a mismatch (Export button stays enabled — user might be exporting for a friend's machine).Substring-match against MACHINE_PROFILES[name] so future Janome / Melco / Bernina profiles need only the right keyword in their display name. Non-blocking by design (matches the "continue anyway?" shape from the issue body); the red inline-error banner stays reserved for cases where export is unavailable.
5 new tests in ExportDialog.test.tsx (29 total). tsc --noEmit clean, pnpm test 742/742, pnpm build clean.