5522089939
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.