Files
summercms/.planning/quick/261006-s0v-remove-copy-from-locale-ui-from-ml-text-/261006-s0v-SUMMARY.md

75 lines
2.3 KiB
Markdown

---
phase: quick-261006-s0v
plan: 01
subsystem: admin-spa
tags: [admin-spa, mltext, mlmarkdown, i18n]
status: complete
requires:
- Phase 14.2.1 ML fields
provides:
- ML text/markdown fields with a single locale selector and no copy-from chrome
affects:
- admin SPA (modules/boardwalk/dist)
tech-stack:
added: []
patterns: []
key-files:
created: []
modified:
- admin/src/components/form/fields/MLTextField.vue
- admin/src/components/form/fields/MLMarkdownField.vue
- admin/tests/form/MLFields.test.ts
- docs/backend/forms.md
- modules/boardwalk/dist/
decisions:
- "Copy-from-locale is removed, not repaired. Copy wrote values[copyFrom] (often empty) over the active locale, which is why the editor went blank."
metrics:
duration: 8 min
completed: 2026-10-06
actuals:
tokens: 2500
tokens_note: chars/4 over Vue, tests, forms.md (excluding rebuilt dist bundle)
tasks: 1
commits: 1
plan_head_after: 2f03128
---
# Quick 261006-s0v: Remove ML copy-from locale UI
`mltext` and `mlmarkdown` now show one locale picker. The second unlabeled dropdown and Copy button are gone, so switching language cannot blank the field you are editing.
## What was built
**Task 1 (commit 2f03128)**
- `MLTextField.vue` and `MLMarkdownField.vue`: dropped `copyFrom`, `otherLocales`, `copyLocale`, the copy-from select, and the Copy button. Locale broadcast and nested `Record<string,string>` values are unchanged.
- `MLFields.test.ts`: asserts copy selectors/buttons are absent; editing Polish keeps English.
- `docs/backend/forms.md`: removed the Copy-from-locale sentence.
- `modules/boardwalk/dist` rebuilt (`index-CRrQr2H1.js`).
## Verification
| Command | Result |
|---|---|
| `npm --prefix admin test -- tests/form/MLFields.test.ts` | 11 passed |
| `npm --prefix admin run typecheck` | pass |
| `scripts/check-admin-dist.sh` | matches a fresh build |
| `go test ./cmd/summer -run TestDocsTree` | pass |
## Deviations from Plan
None. Typed `gsd-planner`/`gsd-executor` are not available in this Cursor session; the orchestrator wrote the plan and executed it inline with `workflow.use_worktrees=false`.
## Known Stubs
None.
## Commits
| Hash | Subject |
|---|---|
| 2f03128 | fix(admin): drop ML copy-from locale chrome (quick-261006-s0v) |
No `.planning` files and no co-author or "Generated with" trailers in the code commit.
## Self-Check: PASSED