Copy actions confirm through the shared four-second owner (Fit rule 7)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- swift
- Domain
- accessibility, desktop
Research direction
Read the Fit rule 7 entry in docs/workbench.md (around line 119), then the shared owners LocalConfirmation in NoticeLifetime.swift and TranscriptReviewFeedback in TranscriptReview.swift. Next, look at SnapModel.copy near line 571 and WorkbenchUpdates.copyDetails near line 130, plus the ad hoc timers in HomePermissions.swift and HomeTiles.swift. Done means the SnapChecks and FeedbackChecks cases in the acceptance list pass; the VoiceOver check is still owed.
Written by the indexing model from the issue text.
Description
Outcome: Snap Copy, Copy build details, Copy permission details and Home's Copy transcript each:
- confirm quietly for four seconds;
- announce once to VoiceOver;
- cannot be cut short by an earlier copy's timer;
- say so when the write fails.
Evidence (main edc15df)
- Snap:
SnapModel.copy(:571-574) sets a notice with no timeout, which lingers (HistoryView.swift:383). It has no failure code, althoughsnap.copy_failedis documented. Save and Export already confirm (970ddc6). - Build details:
WorkbenchUpdates.copyDetails(:130-133) shows nothing and ignores the result ofsetString. - Permission details: the label swaps for 2 s and nothing is announced (HomePermissions.swift:564, :591, :670-681).
- Home Copy transcript: a 4 s Task nothing owns, with a race on the same item (HomeTiles.swift:172-180).
- Shared owners already exist: LocalConfirmation (NoticeLifetime.swift:83-147), ConfirmationLabel (FeedbackViews.swift:207) and TranscriptReviewFeedback (TranscriptReview.swift:23-40). The rule is docs/workbench.md:119.
Change
- Snap: add
.copied, route throughfinish(), and report failures assnap.copy_failed. Update Fit 7's example list. - The other three use TranscriptReviewFeedback with an injected clock and announcer, a reserved ConfirmationLabel, and problem text on failure.
- No new surfaces.
Acceptance
- SnapChecks:
- a successful copy confirms;
- the confirmation is still shown at 3.9 s and gone at 4.0 s;
- a failed write and a missing record each report the failure.
- FeedbackChecks with a private pasteboard:
- a successful copy confirms once;
- a second copy replaces the first confirmation;
- a failed write confirms nothing.
- No overflow in the renders.
Value before scope
- Outcome: one quiet, honest confirmation. Evidence: the code above.
- Simpler route: reuse the existing owner.
- Owner: as listed.
- Complexity: removes ad hoc timers.
- Verified by: checks. A VoiceOver check is still owed.
Grammar: Quality.
Refs #134
Build-ready record from the overnight lead session of 15 Oct 2026, verified against main edc15df by an independent skeptic per item. Implementation follows on a claude/* branch; this issue closes only after native acceptance.
- Dominant language
- Swift
- Stars
- 0
- Forks
- 1
- Avg merge
- 8h 5m
- Merged PRs (30d)
- 215
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Ship-Work/workbench
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
documentation good first issue help wanted
Difficulty 2/5 Half a day Newbie friendliness 74/100
Ship-Work/workbench#29 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
Maintainers usually reply within 1 day
All issues in Ship-Work/workbench
Similar issues
-
area: build-and-ci S3: minor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
manaflow-ai/cmux#22595 · 1 comment ·
Maintainers usually reply within 1 day
-
area/kotlin
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
cable-report
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
darrylmorley/whatcable#656 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
omlahore/RemoveMacAI#67 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
521xueweihan/HelloGitHub#4049 ·