Fix #17: detect locked keychain and preserve credentials on access failure

did:plc:b2mcbcamkwyznc5fkplwlxbf wants to merge
did:plc:b2mcbcamkwyznc5fkplwlxbf opened Feb 11, 2026
- Export KeychainAccessError from session.ts; thrown when getPassword() fails (platform error like locked keychain), not when an entry is missing (undefined) - resumeSession() now rethrows KeychainAccessError without clearing metadata, so temporarily locked keychains no longer wipe stored credentials - Add ensureAuthenticated(client) to auth-helpers.ts: on KeychainAccessError, attempts to unlock the keychain via `security unlock-keychain` (macOS only), retries once, then falls back to a clear error message with manual instructions - Replace 7 repeated inline auth-check blocks in issue.ts with ensureAuthenticated() - Add/update tests for KeychainAccessError propagation and ensureAuthenticated behavior Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Comments (0)

No comments yet.

cospan · schematic version control on atproto built on AT Protocol