feat: add visual status indicators for recording and transcription#60
feat: add visual status indicators for recording and transcription#60
Conversation
- Added `rich` status indicators to `ChirpApp` for "Recording..." and "Transcribing..." states. - Implemented robust status management to handle concurrent recording/transcription states. - Added comprehensive unit tests in `tests/test_ui_status.py` with full mocking of external dependencies. - Created `.jules/palette.md` for UX learnings. Co-authored-by: Whamp <1115485+Whamp@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||
User description
This PR adds visual status indicators to the Chirp CLI application. Previously, users only had log output to discern the application state. Now, a persistent spinner clearly indicates when the app is "Recording..." (red) or "Transcribing..." (green). This improves the user experience by providing immediate, non-intrusive feedback on the current operation mode. The implementation uses
rich.console.Statusand is thread-safe. A new test filetests/test_ui_status.pyverifies the logic and ensures no regressions.PR created automatically by Jules for task 11290331022185833990 started by @Whamp
PR Type
Enhancement, Tests
Description
Add visual status indicators for recording and transcription states
Implement thread-safe status management using
rich.console.StatusAdd comprehensive unit tests with full mocking of dependencies
Document UX learnings in
.jules/palette.mdDiagram Walkthrough
File Walkthrough
main.py
Add status indicator updates for recording and transcriptionsrc/chirp/main.py
Consoleinstance asself.consolefor reuseself.status_indicatorwith "Ready" status on app startupspinner when recording starts
spinner when recording stops
_transcribe_and_inject()to stop statusindicator after transcription completes, only if not recording again
test_ui_status.py
Add comprehensive unit tests for status indicatorstests/test_ui_status.py
indicator functionality
AudioFeedback, etc.) to isolate UI logic
spinner
recording is not active
transcription
palette.md
Document UX learnings for status indicators.jules/palette.md
CLI tools
awareness