5522089939c18b334f56c0e26af6f9ecb3c12867
It went from 0000 to 00000000 with nobody deciding it. The typed code and the code the cache is sealed under were the same variable, so every write of the cache re-sealed under whatever sat in the field - a sync, which asks for no code at all, was enough to change it, silently. They are two things now. Only opening the vault touches the seal, because that is the one moment we know the current code is known: the decryption just proved it. Everything else - sync, background refresh, saving an entry - rewrites the cache under the code already in place. Hence a second field, shown only once a code exists: the current one must open the vault for the new one to take. Without it this fix would have locked the device under the code set by accident, which is exactly the harm it is meant to prevent.
Description
full local password manager
Languages
Pascal
46.7%
JavaScript
35.4%
HTML
9.4%
CSS
4.9%
PHP
2.1%
Other
1.4%