KeePass-Rule-Builder
KeePass-Rule-Builder copied to clipboard
Dialog contents are failing to render
Environment
- Operating System: Windows 11 Pro, 22H2, 64-bit, v22621.674
- KeePass Version: 2.52 (installed)
Note Reproducible as far back as v2.47. I haven't tried going back any further since my database's master key depends on the new key file format introduced with this version. Based on my troubleshooting, I do not believe the issue is related to a specific KeePass release.
- Rule Builder Plugin Version: 3.4
Note Reproducible as far back as v2.0. I cannot reproduce with v1.0.
Steps to Reproduce
Note This appears to be intermittently reproducible, but happens more often than not. It's not clear to me what may factor into reproducibility.
- Open and unlock a database (in my case, protected with both a master password and key file).
With Change Password Dialog
- Right-click an existing entry.
- Press the
Generate New Password...
menu option.
With Edit Rule Dialog
- Open the Add/Edit Entry dialog and expand the Generate a password menu, or right-click an existing entry.
- Press the
Edit Password Rule...
menu option.
Expected Behavior
Dialog contents render without issues.
Actual Behavior
Dialog contents fails to render, which significantly cripples the usability of the plugin:
Other Notes
The issue persists beyond a Plugin Cache clearing and restart of KeePass.
I normally consume this plugin via the Chocolatey package, although I can also reproduce when manually copied to the Plugins
directory.
I've tried building from source (with some minor project reference and post-build event modifications to support my environment), and setting some breakpoints around where the dialog forms are initialized. I would think something would be blowing up around here. Interestingly, no exceptions seem to be thrown anywhere I can see.
I suspect the root cause may be an environmental issue with WPF, as I cannot reproduce on another machine. I'm honestly stumped and not sure where to start with further debugging/troubleshooting this one. Any pointers or other ideas would be much appreciated.