Bump versions and include updated build output.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add a dedicated support section at the bottom of the settings page that includes:
- Visual separator to distinguish from other settings
- Thank you message to users
- "Buy me a coffee" button with CTA styling
- Opens support link in new tab
This provides users with an easy way to support the plugin development while maintaining a non-intrusive placement.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude <noreply@anthropic.com>
Prevent test audio files from being committed:
- *.m4a, *.mp3, *.wav, *.ogg, *.flac
- *.aac, *.wma, *.webm
This ensures large audio test files never enter the repository.
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>
Apply the same security improvements from DeepgramAdapter PR review:
- Add sanitizeForLogging() method to redact sensitive data
- Apply sanitization to options logging (line 289)
- Apply sanitization to error body logging (line 410)
- Prevent API keys and tokens from leaking to logs
This brings WhisperService security up to par with DeepgramAdapter
and completes the security hardening for the public 3.0.1 release.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add cleanupText to FormatOptions interface
- Fix PluginSettings -> SpeechToTextSettings imports
- Fix getMetrics return type to match parent class
- Add type casting for FormData in WhisperService
- Add type casting for abTesting forceProvider access
These fixes resolve all TypeScript compilation errors and allow
the build to succeed.
🤖 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>
## Summary
- Add MIT License file
- Add comprehensive Contributing guidelines
- Add Contributor Covenant Code of Conduct
- Update .gitignore to allow CODE_OF_CONDUCT.md
- Fix Korean anchor link in README navigation
## New Files
### LICENSE
- MIT License with copyright 2025 Taesun Lee
- Standard open source license for the project
### CONTRIBUTING.md
- Complete contribution guidelines
- Bug reporting process
- Pull request workflow
- Development setup instructions
- Coding standards and architecture guidelines
- Commit message conventions (Conventional Commits)
- Testing requirements
### CODE_OF_CONDUCT.md
- Contributor Covenant Code of Conduct v2.1
- Community standards and expectations
- Enforcement guidelines
- Reporting procedures
## Minor Fix
- Fixed Korean section anchor: #korean → #한국어
## Impact
- Establishes clear community guidelines
- Provides contribution workflow for new contributors
- Adds proper licensing
- Makes project more professional and welcoming
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
## Summary
- Complete separation of English and Korean documentation sections
- Updated version from 1.0.0 to 3.0.1 to match package.json
- Added comprehensive advanced features documentation
- Updated repository URLs from SpeechNote-1 to SpeechNote
- Enhanced project structure documentation with detailed architecture
## Major Changes
### Documentation Structure
- Split README into two complete sections: English (#english) and Korean (#korean)
- Added navigation links for easy language switching
- Removed mixed-language section headers for clarity
### Version & URLs
- Updated version badge: 1.0.0 → 3.0.1
- Fixed repository URLs: asyouplz/SpeechNote-1 → asyouplz/SpeechNote
- Updated all installation and contribution links
### Advanced Features Added
- **Cost Management**: Monthly budgets, cost limits, budget alerts, auto optimization
- **Quality Control**: Quality thresholds, confidence levels, strict language mode, post-processing
- **Text Formatting**: Plain, Markdown, Quote, Bullet, Heading, Code, Callout formats
- **A/B Testing**: Provider comparison, traffic split, metric tracking
- **Large File Handling**: Auto chunking, chunk size config, overlap settings
- **Enhanced Performance**: Circuit breaker, health checks, max parallel requests
- **Metrics Retention**: Configurable data retention periods
### Architecture Documentation
- Added detailed project structure with bilingual annotations
- Documented all layers: application, architecture, core, domain, infrastructure
- Listed design patterns: Factory, Adapter, Observer, Strategy, Repository, DI, Error Boundary
- Added architecture highlights section explaining clean architecture layers
### Recent Updates Section
- Added v3.0.1 release notes highlighting enterprise architecture
- Updated v3.0.0 notes for Nova-3 and speaker diarization
- Reorganized version history for clarity
## Impact
- Users can now easily switch between English and Korean documentation
- All advanced features from codebase are now properly documented
- Version information is accurate and consistent
- Project structure accurately reflects current implementation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>