-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resetting cross-signing leaves account in a broken state if you abort halfway #13338
Comments
Agreed this is not good, as reset should always work. It is a bit artificial, but still seems like it could happen in reality too if the connection drops out. Nice to have a fix for release if possible, but not a blocker. |
I encountered this error on my production instance. What should I do now? |
I seem to have triggered this issue on riot.im. Is there any way to recover? |
Looks like the problem here is that if you have a key backup, |
No wait, it skips straight to |
I tried to repro this by blocking the upload of the master key and then refreshing while it spins retrying to upload it, but resetting still works fine after refreshing and unblocking. I also can't see any way the bootstrap function would print, "Cross-signing private keys found in secret storage" when the reset button was pressed: it should never enter that block. Were you definitely pressing the bootstrap button rather than the reset button? Anyone else, if you think you're hitting this, please submit your logs (settings -> help & about -> submit debug logs). |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I linked another rageshake that looks to be an instance of |
In my own testing, I was able to create a situation like this by doing:
In this path, we'll enter In such a situation, we need to reset cross-signing anyway so that our public and private keys are both the same "generation" and back in sync. If you unblock account data, resetting appears to work, so people shouldn't be stuck in such a situation, as they can still reset. |
I'll continue chasing this theory tomorrow. |
Right, that makes sense @jryans, and should be somewhat helped with the robustness work. I'm not sure why it would have ended up calling |
There also seems to be another reset blocking issue that seems related to key backup, where you get this error:
Probably best to break out in a separate issue. |
Ah, I meant that pressing the green bootstrap (so not a reset) descends down to |
Yes, let's break this out to a separate issue. I think that (somewhat confusing) log message mainly indicates we just don't have key backup key cached, so we'd need to read it from 4S instead. |
Overall, I haven't been able to isolate actionable steps here, and my assumption is that @bwindels bootstrapping robustness will help with much / all of these issues. For now, I'm returning this to the backlog, and we can re-test again once more robustness work has merged. |
This is still very much a thing; I just closed #26322 as a duplicate |
OR: Choose "Generate a Security Key", click "continue", copy the generated key
Expected: new device is verified
Actual: back to the "Verify this device" screen.
Original report
While testing retrying account data requests during cross-signing reset, I managed to get reset cross-signing in a completely broken state. Even on a fresh login with that account, I can't reset the cross-signing keys anymore.During testing, I purposefully made set account data requests fail, and I refreshed while not having completed the reset operation. In any case, refreshing the app, or having requests fail should not leave you in a state where cross-signing is just completely broken and there is no way to fix it. I just get this dialog when trying:
When trying to verify somebody in this state, I get a passphrase dialog, and when entering my passphrase nothing happens with the following error in the console:
The security settings show this:
This was on a local synapse that I last updated on Monday Apr 20, last commit
f5ea8b48bd57c19dae126a5cc631dc79cf5ce332
.This is the account data of the broken account:
@jryans: Edited to remove unrelated account data
The text was updated successfully, but these errors were encountered: