Release/1.9.0 - #54
Conversation
…g and clear option
There was a problem hiding this comment.
Pull request overview
This pull request introduces significant improvements to the batch transcription queue system and overall user experience for WhisperDesk v1.9.0. The PR adds queue persistence, duplicate file detection, retry functionality, ETA tracking, completion notifications, Finder integration after save, and searchable transcription history.
Changes:
- Enhanced batch queue with duplicate detection (by file path/fingerprint), retry failed items, live ETA calculation, and completion notifications
- Added queue persistence to localStorage with automatic restoration and resume prompt on app restart
- Added "Show in Finder" functionality after saving transcripts with user confirmation
- Added search functionality to transcription history (file name, content, model, language)
- Updated documentation (README.md and index.html) to reflect new features
- Added file fingerprinting utility for content-based duplicate detection
Reviewed changes
Copilot reviewed 30 out of 31 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/shared/types.ts | Added optional fingerprint field to SelectedFile interface |
| src/renderer/utils/storage.ts | Added QUEUE storage key constant |
| src/renderer/types/electron.d.ts | Added showItemInFolder API definition |
| src/renderer/test/setup.ts | Added mock for showItemInFolder API |
| src/renderer/test/electronAPIMocks.ts | Added mocks for showItemInFolder in test utilities |
| src/renderer/services/electronAPI.ts | Added showItemInFolder wrapper function with error handling |
| src/renderer/services/tests/electronAPI.test.ts | Added tests for showItemInFolder functionality |
| src/renderer/features/transcription/hooks/useTranscription.ts | Added reveal in Finder prompt after successful save |
| src/renderer/features/transcription/hooks/useBatchQueue.ts | Major refactor adding duplicate detection, queue persistence, ETA tracking, retry failed, and completion notifications |
| src/renderer/features/transcription/components/FileQueue/tests/FileQueue.test.tsx | Added tests for retry button and ETA display |
| src/renderer/features/transcription/components/FileQueue/FileQueue.tsx | Added retry failed button and live ETA display in summary |
| src/renderer/features/transcription/components/FileQueue/FileQueue.css | Added styles for retry button and ETA display |
| src/renderer/features/transcription/components/FileDropZone/tests/FileDropZone.test.tsx | Added tests for duplicate files badge and keyboard navigation |
| src/renderer/features/transcription/components/FileDropZone/FileDropZone.tsx | Added duplicate files skipped badge with aria-live announcements |
| src/renderer/features/transcription/components/FileDropZone/FileDropZone.css | Added styles for duplicate badge |
| src/renderer/features/transcription/tests/useTranscription.test.ts | Added comprehensive tests for Finder reveal functionality |
| src/renderer/features/transcription/tests/useBatchQueue.test.ts | Added extensive tests for persistence, duplicate detection, retry, ETA, and notifications |
| src/renderer/features/history/components/TranscriptionHistory/tests/TranscriptionHistory.test.tsx | Added tests for search functionality and keyboard shortcuts |
| src/renderer/features/history/components/TranscriptionHistory/TranscriptionHistory.tsx | Added search input with filtering and keyboard shortcut (Cmd/Ctrl+F) |
| src/renderer/features/history/components/TranscriptionHistory/TranscriptionHistory.css | Added styles for search UI and empty search state |
| src/renderer/contexts/types.ts | Added new state fields for queue features to context types |
| src/renderer/contexts/AppContext.tsx | Integrated new queue features into app context |
| src/renderer/components/layout/LeftPanel/LeftPanel.tsx | Added queue resume banner and connected retry functionality |
| src/renderer/App.css | Added styles for queue resume banner |
| src/preload/index.ts | Exposed showItemInFolder IPC channel to renderer |
| src/main/utils/media-info.ts | New utility for generating file fingerprints using SHA-256 of file chunks |
| src/main/services/whisper.ts | Simplified language argument handling (removed 'auto' check) |
| src/main/ipc/index.ts | Added showItemInFolder IPC handler and fingerprint generation in getFileInfo |
| src/main/index.ts | Set app name and user model ID for proper notification support |
| docs/index.html | Updated version to 1.9.0 and feature descriptions |
| README.md | Updated feature list with new queue capabilities |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…pdate related components
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 34 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 34 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…otifications for failed items
|
🎉 This PR is included in version 1.9.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
Improves batch queue reliability/UX and updates docs/website to match shipped features.
Changes
Testing
Updated/added tests for duplicate handling, retry flow, queue resume, ETA, Finder reveal, and history search.
Coverage thresholds satisfied.