With this pull request, keys should correctly persist across sessions, assuming you use the same user id and passphrase. If you try to use an incorrect user id/passphrase with a persisted key you'll receive an "HMAC does not match" error - if this is because you want to use a different key, then you need to use the new .clear() method to reset local storage as e2e purposely only supports a single keyring (https://github.com/google/end-to-end/issues/223).
Status - tests still pass, and initial plausibility is good. Haven't tried it end-to-end in a proper dependent application yet (I made the tests/demo reset the key for each run as that is more sensible for their use case). So, some tweaks may still be needed, but I believe this is a solid step in the right direction.
With this pull request, keys should correctly persist across sessions, assuming you use the same user id and passphrase. If you try to use an incorrect user id/passphrase with a persisted key you'll receive an "HMAC does not match" error - if this is because you want to use a different key, then you need to use the new .clear() method to reset local storage as e2e purposely only supports a single keyring (https://github.com/google/end-to-end/issues/223).
Status - tests still pass, and initial plausibility is good. Haven't tried it end-to-end in a proper dependent application yet (I made the tests/demo reset the key for each run as that is more sensible for their use case). So, some tweaks may still be needed, but I believe this is a solid step in the right direction.