Commit Graph

5 Commits

Author SHA1 Message Date
b2854cee34 Phase 2: providers + chat + tasks + IPC rewire 2026-03-01 19:56:39 +01:00
4bd7e6cd99 fix: rollback in-memory key on store failure, add corrupted-data and rollback tests 2026-03-01 13:20:16 +01:00
226c9193d6 fix: isolate cleanup from key retrieval, add deleteSetting test 2026-03-01 13:14:15 +01:00
089ed70a62 fix: eliminate non-null assertions, fix broken test, add error-path coverage 2026-03-01 13:07:50 +01:00
0618c7c532 feat: migrate API key storage to Electron safeStorage (OS keychain)
- Add SecureKeyStore class using safeStorage encrypt/decrypt with base64 in SQLite
- Update chatHandlers to store/retrieve API keys via SecureKeyStore
- Delete old plain-text opencode_api_key on startup (no migration, re-enter key)
- Add deleteSetting() to ChatEngine
- Add 14 SecureKeyStore unit tests and 6 chatHandlers keychain integration tests
- Update existing chatHandlers test mocks for SecureKeyStore
- Update MISTRAL_PLAN.md: mark PR 1 done, remove legacy fallback from PR 2 scope
2026-03-01 12:36:35 +01:00