asyouplz_SpeechNote/tests
asyouplz df9c5b003d fix: Resolve Obsidian Plugin Review Lint Issues (#41)
* fix: Resolve all linting issues for Obsidian Plugin Review

* fix: Address PR code review feedback

- Add legacy password migration for encrypted API keys
- Prevent duplicate event listeners in SettingsAPI
- Add error handling to ConfirmationModal callbacks
- Improve type safety (any[] → unknown[])

* fix: Address second round of PR review feedback

- Implement per-vault unique salt for encryption security
- Add UI notices for migration status and errors
- Add destroy() method to SettingsAPI for memory cleanup
- Add Notice feedback to ConfirmationModal callback errors

* fix: Address critical security and data safety issues

- Remove weak encryption fallback, force salt initialization
- Add security documentation to encryption code
- Add retry mechanism (2 attempts) for API key retrieval
- Backup corrupted data before deletion for potential recovery
- Update ConfirmationModal for async callback support
- Prevent unhandled promise rejections in modal callbacks

* fix: Address final review suggestions

- Add deprecation comment for legacy platform API usage (target: v4.0.0)
- Add error logging before legacy migration attempt
- Move migration notice after successful save
- Change any[] to unknown[] for better type safety
- Add lifecycle documentation to destroy() method

* fix: Address latest PR review feedback

- Add feature detection for platform APIs in legacy migration (Encryptor.ts)
  - Check for navigator, screen, Intl availability before using
  - Graceful degradation when APIs not available in some environments

- Wrap listener execution in try-catch in SettingsAPI.emit()
  - Prevents cascade failures when a listener throws
  - Logs errors without stopping other listeners

- Add double-click prevention to ConfirmationModal
  - Disable buttons during async operations
  - Prevent multiple callback invocations

- Update test file to use correct class name (Encryptor vs AESEncryptor)

- Add comprehensive JSDoc documentation for SecureApiKeyManager
  - Document custom encryptor requirements
  - Add usage examples
  - Document initialization behavior
2026-01-18 13:57:45 +09:00
..
e2e fix: address Obsidian community plugin review requirements 2025-10-09 13:53:54 +09:00
helpers fix: address reviewbot required issues (#40) 2026-01-14 17:31:20 +09:00
integration feat: Phase 4 - Testing and Optimization Complete 2025-08-25 22:55:16 +09:00
mocks fix(deepgram): harden release build for public launch 2025-10-01 12:55:59 +09:00
performance feat: Phase 4 - Testing and Optimization Complete 2025-08-25 22:55:16 +09:00
settings fix: Resolve Obsidian Plugin Review Lint Issues (#41) 2026-01-18 13:57:45 +09:00
unit fix: address Obsidian community plugin review requirements 2025-10-09 13:53:54 +09:00