One name per action and counts that agree: Export current text, Finish dictation, '1 word'
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- accessibility, desktop
Direzione di ricerca
Start with the export call sites in CaptureHistoryView.swift (around line 163) and TranscriptReview.swift (around line 132), plus the save-panel text and default filename in AppModel.swift and Core.swift. For the dictation labels, check WorkbenchHome.swift (around lines 713, 840 and 844), ToolbarNextAction.swift, and the pinned check in WorkbenchControlChecks.swift. Done means the --check-core checks pass for the new filename helper and wordCountLabel, scripts/check-surfaces.py and its test pass, and the renamed labels appear in the greps listed in the issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Outcome: the same action uses the same words wherever it appears, an export suggests a filename that says which transcript it holds, and a one-word dictation reads '1 word'.
Evidence (train head 14d06bc)
Export
- History's More menu and context menu say 'Export cleaned text…' (
CaptureHistoryView.swift:163). Review transcript says 'Export current text…' (TranscriptReview.swift:132). Both callAppModel.exportCapture. - The save panel says 'Save the cleaned transcript…' (
AppModel.swift:1057-1059). That is untrue for a two-track meeting, whose text is the You/Others conversation (docs/design.md:176), and for a dictation with cleanup off. The contract's own word is 'current text' (docs/workbench.md:156). - Every export suggests 'Workbench Transcript.txt' (
Core.swift:81,AppModel.swift:1055), so a second export into the same folder offers to replace the first. Snap's Save already suggests a name from kind and date (SnapModel.swift:457,:590).
Dictation button
- Home's Current work shows
Button("Stop")(WorkbenchHome.swift:713). The toolbar, panel and chooser say 'Finish dictation' for the same action (ToolbarNextAction.swift:222, pinned atWorkbenchControlChecks.swift:57). The other Current work rows name their action in full: 'Stop narration', 'End presentation', 'Stop task'. - Home's guide button shows 'Start dictating', but its accessible name is 'Start recording' (
WorkbenchHome.swift:840,:844), so Voice Control's 'click Start dictating' finds nothing. - Dictate's microphone is also named 'Start recording' (
Views.swift:214), the same name as Meetings' button.
Word count
- These sites show '(n) words' with no singular:
Views.swift:161,CaptureHistoryView.swift:103and its VoiceOver label at:106, andTranscriptReview.swift:98. - Home's shelf pluralises by hand (
WorkbenchHome.swift:511), as every other count in the app does.
Change
- Export
CaptureHistoryView.swift:163becomes 'Export current text…'.- The panel message becomes 'Save the current text as a UTF-8 text file.'
- The rawValue of
TranscriptExportVersion.cleanedbecomes 'Current text'; keep the case name. - Replace
defaultFilenamewith a pureTranscriptExport.filename(purpose:date:timeZone:)that returns, for example, 'Meeting 2026-10-15 at 10.00.txt'. Build it with a gregorian calendar and theen_US_POSIXlocale so it never contains '/' or ':', and never include captured words, a person or a company. - Dictate's 'Save text…' is a different action and stays unchanged.
- Dictation button
- Current work's Stop becomes 'Finish dictation'.
- The guide button reads Cancel, Finish dictation or Start dictating, with
.accessibilityLabel(model.phase == .requesting ? "Cancel microphone request" : title)so the spoken name follows the visible one. - Dictate's idle accessible name becomes 'Start dictating'.
- In
docs/surfaces.json, runcheck-surfaces --update, then re-enter kind, belongsTo and note by hand for the renamed entries.
- Word count
- Add
TextRules.wordCountLabel(_ count: Int) -> StringbesidewordCount, and use it at the four sites and at Home's shelf. Do not add a generic pluraliser.
- Add
- Left for the maintainer, not changed here: the Names example (
docs/workbench.md:90, 'Stop dictation') and the panel row text (:205, 'Dictate / Stop') disagree with the code's 'Finish dictation'.
Acceptance
--check-core:filenamereturns 'Meeting 2026-10-15 at 10.00.txt' for a fixed date and time zone.- Two meetings and a prompt at different minutes get distinct names, and no name contains '/', ':' or captured words.
- The current export version reads 'Current text'.
wordCountLabelreturns '0 words', '1 word' and '2 words' for 0, 1 and 2.
- Greps confirm:
- no
) words"literal is left outside checks; - no export label or panel message says 'cleaned';
Button("Stop")and 'Start recording' are gone from WorkbenchHome.swift and Views.swift.
- no
python3 scripts/check-surfaces.pyandscripts/test-check-surfaces.pypass.- Home's current-work and first-dictation renders show 'Finish dictation' without clipping at the minimum window width.
Value before scope
- Outcome: one name per action (the Names rule,
docs/workbench.md:90), and correct grammar on the most common short dictations. - Simpler route: adopt the names the code and checks already use.
- Owner: the existing labels, plus one pure helper each for the filename and the count.
- Complexity: strings, two pure functions and a registry reclassification.
- Verified by:
--check-core, check-surfaces and renders.
Grammar: Quality.
Refs #134
Build-ready record from the 15 Oct round-three pass (delight and code-base value), verified against the release train head 14d06bc by an independent skeptic per item. Closes only after native acceptance.
- Lingua principale
- Swift
- Stelle
- 0
- Fork
- 1
- Merge medio
- 13h 40m
- PR unite (30g)
- 221
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Ship-Work/workbench
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 74/100
Ship-Work/workbench#29 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
A second copy held at "Another Workbench is already running" still runs the pack update checkAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Ship-Work/workbench
Issue simili
-
ci-failure ci:assertion test
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openwatersio/slackwater-ios#811 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
foxglove/mcap#1907 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue help wanted translation
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
-
[Tool] AnnotatorApertahas-image has-license has-readme new-tool ready-to-approve repo-verified
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
shanselman/TinyToolTown#873 ·
I maintainer di solito rispondono entro 5 giorni