Update voice memo discard icon and hide transcript errors#684
Conversation
Change the discard button from an X to a red trash icon for clearer intent. Mark all transcript failures as permanent instead of showing error text and retry — transcription errors (speech recognition, decoding) are deterministic and retrying won't help, and attachment loading errors surface raw developer-facing strings that aren't useful to users. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude finished @onefovrth's task —— View job Code Review Complete ✅Reviewed PR #684: Update voice memo discard icon and hide transcript errors SummaryThis PR successfully implements two improvements to voice memo UX:
The implementation is sound with good test coverage. The macroscopeapp concern about debug code has been resolved in commit d661eff. Code Quality ✅Strengths:
Adherence to CLAUDE.md:
Test Coverage ✅Excellent test coverage in
All existing tests updated to reflect new Architecture & Error Handling ✅Service Layer (VoiceMemoTranscriptionService.swift):
UI Layer:
Potential Issues & Suggestions1.
|
Refine layout: 48pt button containers, subtle play bg, caption duration font, 00:XX format, tighter waveform-duration spacing, 44pt trash button. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Soften stop button to red icon on translucent red circle, switch duration to caption font in caution color, and use asymmetric pill padding. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move transcript display inside the voice memo bubble instead of as a separate row, supporting three states: no transcription, completed transcript with sheet, and transcription approval prompt. Add GesturePassthroughBackground marker so transcript buttons receive taps through the UIKit gesture overlay. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use a hidden unclamped Text overlay to measure full height and only show the chevron and sheet tap when the transcript is truncated. Also add mock transcript data for simulator testing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add colorFillInvertedMinimal (#141414) and colorFillInvertedSubtle (#333333) tokens. Use correct fill colors per bubble direction: outgoing uses invertedSubtle bg, incoming uses invertedPrimary bg. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Flip dark mode values so inverted tokens mirror their non-inverted counterparts: invertedMinimal #141414/#FAFAFA, invertedSubtle #333333/#F5F5F5. Remove temporary mock transcript data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Compact pill layout with waveform + duration row, optional 2-line transcript below, 160pt max width, 24pt corner radius, subtle border. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pass allVoiceMemoTranscripts through CellConfig and MessagesListView so reply references can display parent message transcript text. Analyze audio to extract duration instead of showing "Audio" fallback. Update waveform color to colorFillTertiary in reply reference. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When replying to a voice memo with a completed transcript, the composer reply bar now shows the transcript text instead of "Voice Memo". Also updates the waveform icon to 32x32 with a rounded subtle background. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove hardcoded mock transcripts and TODO comments that were used for simulator testing. Restore the permanentlyFailed guard and use real stored transcript status and text. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ApprovabilityVerdict: Needs human review Beyond UI styling updates, this PR changes voice memo transcription error handling behavior - failures are now permanently hidden from users with no retry option. This user-facing behavior change to error handling warrants human review. You can customize Macroscope's approvability policy. Learn more. |
Summary
xmark) to a red trash can (trash) for clearer destructive intentWhy hide transcript errors?
Transcript failures fall into two categories, neither of which benefits from showing errors to users:
localizedDescriptionstrings that aren't meaningful to usersIn both cases the transcript row is now simply hidden rather than showing confusing error text.
Test plan
🤖 Generated with Claude Code
Note
Move voice memo transcript into the bubble and hide transcript errors
xmarkicon to atrash.fillicon in caution color.Macroscope summarized 34d80e5.