Commit graph

10 commits

Author SHA1 Message Date
asyouplz
07d8f3cdce chore(format): run prettier
Apply repository formatting to satisfy CI format check.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 00:10:37 +09:00
asyouplz
70334cfa10 fix: address reviewbot required issues (#40)
Resolve ReviewBot required findings to prepare for PR8004 rescan and release.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 17:31:20 +09:00
asyouplz
a19d8c4de0 Revert "fix: address reviewbot required issues"
This reverts commit 04b81e0c32.
2026-01-14 17:13:54 +09:00
asyouplz
04b81e0c32 fix: address reviewbot required issues
Resolve ReviewBot required findings to prepare for PR8004 rescan and release.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-14 17:04:47 +09:00
asyouplz
b65c5a8af6 fix: stabilize plugin settings and deepgram refactor (#37)
* feat: migrate Deepgram to Nova 3

* fix: address reviewbot style issues and bump 3.0.3

* feat: finalize deepgram refactor and stabilize settings
2025-12-24 10:09:53 +09:00
asyouplz
daa575efd3 fix: address reviewbot style issues and bump 3.0.3 (#36)
* feat: migrate Deepgram to Nova 3

* fix: address reviewbot style issues and bump 3.0.3
2025-12-16 11:11:56 +09:00
Taesun Lee
82a4af22ac fix: address Obsidian community plugin review requirements
Required fixes:
- Replace innerHTML/outerHTML with DOM API methods for XSS prevention
- Move inline styles to CSS classes for theme compatibility
- Add instanceof type guards for TFile/TFolder handling
- Remove console.log statements from production code
- Convert fetch() to requestUrl() for cross-platform support

Technical changes:
- Security: All innerHTML/outerHTML replaced with createEl/createDiv/createSvg
  - StatisticsDashboard: DOM-based table/chart rendering
  - UI components: SVG icons built programmatically
  - Error/notification systems: Safe DOM construction

- Styling: Inline styles migrated to CSS classes
  - Added utility classes: .sn-hidden, .sn-fade, .sn-info-box
  - Preserved dynamic styles for progress bars and charts
  - Enhanced theme compatibility

- Type safety: Added file/folder type guards
  - New: src/utils/fs/typeGuards.ts with assertTFile helper
  - Replaced unsafe casts with instanceof checks
  - Improved test mocking with structural typing

- Logging: Cleaned up console statements
  - Removed production console.log calls
  - Preserved console.debug for debug mode
  - Routed logs through Logger class

- Networking: fetch() → requestUrl() migration
  - APIKeyManager: 2 API validation calls converted
  - BatchRequestManager: Updated for Obsidian compatibility

Test improvements:
- E2E: Implemented settings flow mocking (15/15 tests passing)
- Fixed: Settings migration for legacy language codes (korean→ko)
- Fixed: NotificationManager duplicate prevention (timer-based)
- Fixed: WhisperService cancellation logging
- Fixed: FileUploadManager compression fallback
- Fixed: EditorService workspace.off guard

Build verification:
- Bundle size: 148KB (within 150KB target)
- Console statements: Removed from production build
- All 222 tests passing
- Lint:  (167 warnings, no errors)
- TypeCheck: 

Ready for Obsidian review bot re-check.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-09 13:53:54 +09:00
Taesun Lee
41d61c09d2 fix(critical): address PR review critical issues
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>
2025-10-01 15:30:37 +09:00
Taesun Lee
0012187572 chore(release): finalize public 3.0.1 build
- 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>
2025-10-01 14:31:23 +09:00
asyouplz
7f776af999 Initial commit: Obsidian Speech-to-Text Plugin
- 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>
2025-08-25 20:00:43 +09:00