You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix KeeShare code issues and add KeePassXC format support
This commit addresses reviewer feedback from PR PhilippC#3106:
**Error Handling**
- Fix Import method to rethrow exceptions instead of silently swallowing them
- Allows proper error propagation and user notification via outer exception handlers
**Path Resolution**
- Refactor ResolvePath to use IFileStorage methods consistently for both local and remote files
- Removes System.IO.Path usage in favor of abstraction layer
- Ensures all file operations go through proper storage backends
**LoadDB Handler Logic**
- Add clarifying comment to WrapHandlerForKeeShare explaining that OnLoadCompleteKeeShareCheck
runs in both null and non-null handler cases
- Addresses maintainer question about intentionality of the null check
**KeePassXC Interoperability**
- Add HasKeePassXCFormat() to detect groups created in KeePassXC
- Add TryImportKeePassXCConfig() to import KeePassXC's KeeShare configuration
- Support multiple KeePassXC CustomData formats:
* KeeShareReference.Path/Type/Password
* KPXC_KeeShare_Path/Type/Password
* Legacy KeeShare XML format
- Integrate detection into HasKeeShareGroups() for automatic import
- Maintains backward compatibility with KP2A format
- Allows device-specific path overrides using existing KP2A mechanism
**Notes**
- Status logging already implemented (line 482: "Exporting KeeShare database group")
- Build workflow already includes dotnet workload restore (lines 312-314, 322)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
0 commit comments