uttrflow / uttrflow/uttrflow-swift

Corrections' Undo doesn't say it leaves the text already in the other app unchanged

Open Beginner friendly
#692 0 comments 0 reactions 0 assignees View on GitHub
area:dictation bug good first issue P2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.