uttrflow / uttrflow/uttrflow-swift
Corrections' Undo doesn't say it leaves the text already in the other app unchanged
- Dominant language
- Swift
- Stars
- 4
- Forks
- 17
- Avg merge
- 3h 32m
- Merged PRs (30d)
- 277
Description
## What happens
On the Corrections page each change has an **Undo** button (`CorrectionsPresenter.row`, `Sources/UttrflowUX/CorrectionsPresentation.swift:218-224`). Undo changes two things: the stored transcript in History, and the count that retires a dictionary word (`Docs/core-history-undo.md`; `AppDelegate` `.undoCorrection`, `Sources/Uttrflow/AppDelegate.swift:1614-1623`). It does not, and cannot, change the text that was already inserted into the other app.
The page does not say so. Its callout promises "nothing here is permanent" (`CorrectionsPresentation.swift:141-146`), and the footnote says only "Undo teaches Uttrflow. Undo a word more often than you keep it and it stops being applied — the word retires itself in your Dictionary." (`:155-156`). After Undo the row shows an "Undone" pill with the written word struck through (`Sources/Uttrflow/Main/CorrectionsPageView.swift:46-50`, `:69-73`), which reads as if the word was put back.
## Why it matters
"Undo" next to "what it wrote" reads as "fix my text". A user presses it, sees "Undone", and sends the email or message still containing the wrong word, because the text in that app is unchanged.
## How to reproduce
Dictate a sentence that triggers a dictionary correction into any text field, press Undo on Corrections, and look at the text field.
## Acceptance criteria
- The footnote (or the callout) says plainly that Undo fixes the saved transcript and teaches Uttrflow, and that text already in another app is not changed. One short sentence; keep the product's tone.
- "nothing here is permanent" is reworded so it does not suggest the inserted text can be taken back.
- Consider a clearer button title, for example "Undo in History" or a tooltip saying the same; note the choice in the pull request.
- Tests in `Tests/UttrflowUXTests/CorrectionsPresentationTests.swift` updated for the new strings.
## Where to start
- `Sources/UttrflowUX/CorrectionsPresentation.swift:136-158`.
- Run `make verify` (export `DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer` first) and read CONTRIBUTING.md.
**Size:** XS, under an hour.
Contributor guide
Research direction
Start in Sources/UttrflowUX/CorrectionsPresentation.swift:136-158 and review the related row behavior in Sources/Uttrflow/Main/CorrectionsPageView.swift. Read Tests/UttrflowUXTests/CorrectionsPresentationTests.swift, update the Undo wording and related tests so the saved-transcript scope and unchanged text in another app are clear, then run make verify with the specified DEVELOPER_DIR.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 90/100