- Add support for both private and public key storage
- Implement automatic SSH key type detection for all major formats (RSA, Ed25519, ECDSA, DSA)
- Add real-time key pair validation to verify private/public key correspondence
- Enhance credential editor UI with unified key input interface supporting upload/paste
- Improve file format support including extensionless files (id_rsa, id_ed25519, etc.)
- Add comprehensive fallback detection for OpenSSH format keys
- Implement debounced API calls for better UX during real-time validation
- Update database schema with backward compatibility for existing credentials
- Add API endpoints for key detection and pair validation
- Fix SSH2 module integration issues in TypeScript environment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Fixed two major credential management issues:
1. Fix SSH key upload button not responding (Issue #232)
- Error handling was silently swallowing exceptions
- Added proper error propagation in axios functions
- Improved error display to show specific error messages
- Users now see actual error details instead of generic messages
2. Improve credential editing to show actual content
- Both "Upload File" and "Paste Key" modes now display existing data
- Upload mode: shows current key content in read-only preview area
- Paste mode: shows editable key content in textarea
- Smart input method switching preserves existing data
- Enhanced button labels and status indicators
Key changes:
- Fixed handleApiError propagation in main-axios.ts credential functions
- Enhanced CredentialEditor.tsx with key content preview
- Improved error handling with console logging for debugging
- Better UX with clear status indicators and preserved data
These fixes resolve the "Add Credential button does nothing" issue
and provide full visibility of credential content during editing.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>