1. **FileUploadManager - Remove audio corruption risk**
- Removed forceReduceSize() method that corrupted audio
- Method naively skipped bytes without understanding audio format
- Now throws clear error with user guidance instead
- Prevents unplayable audio files from being created
2. **Jest Config - Restore test timeouts**
- Unit tests: 10s timeout
- Integration tests: 15s timeout
- E2E tests: 30s timeout
- Prevents flaky test failures from default 5s timeout
3. **EditorService - Fix memory leak**
- Store event listener references in eventRefs array
- Properly clean up workspace event listeners in destroy()
- Prevents memory leaks when plugin is unloaded
- workspace.off() called for all registered listeners
All critical security and stability issues from PR review addressed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add .jest-cache to .gitignore for cleaner repo
- Export DeepgramAdapterRefactored as DeepgramAdapter for compatibility
- Refactor TranscriberFactory with improved error handling and logging
- Enhance NotificationManager with better user feedback
- Update test infrastructure (jest.config, testSetup)
- Improve EditorService, TextFormatter, TranscriptionService type safety
- Enhance FileUploadManager and WhisperService error handling
Related PR feedback addressed:
- API key sanitization in logs (sanitizeForLogging)
- DEFAULT_TIER constant consistency
- Partial chunk failure flagging in metadata
- Auth error differentiation in API key validation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Set up project structure and architecture
- Implement core transcription services with OpenAI Whisper API
- Add comprehensive UI components and settings
- Create documentation in Korean and English
- Establish testing framework and examples
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>