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
On shutdown prevention, stop the CJM to participate in new rounds. On cancel, restart them. #10664
On shutdown prevention, stop the CJM to participate in new rounds. On cancel, restart them. #10664
Conversation
I think it should restart the CJ if we leave the dialog. I actually worked a bit on the feature this morning (not because it was easy, but because I thought it would), but it was not working so I didn't make a PR. |
Yepp |
I updated the PR + the description. |
I'm blocked until this gets resovled #10657 (comment) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The merge of #10671 unblocked this PR. It's ready for tests and reviews. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The wallet in critical phase doesn't continue coinjoining after pressing cancel?
(And neither does the wallet below auto start cj treshold, but that might be an edge case)
Video
Screencast.from.18-05-2023.13.49.46.webm
@MarnixCroes could you please re-test both scenarios? Both should be fixed by my latest 2 commit. Ty. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MarnixCroes could you please re-test both scenarios? Both should be fixed by my latest 2 commit. Ty.
Ty for the testing @MarnixCroes, I will check what's going on with this |
@MarnixCroes could you please re-test this PR with the latest commit? Thanks 💖 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tACK 3d7422f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
async () => | ||
{ | ||
await _coinJoinManager.RestartAbortedCoinjoinsAsync(); | ||
Navigate().Clear(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only good until somebody not touches CancelCommand.
Shouldn't be this more correct?
Navigate().Clear(); | |
CancelCommand.Execute(null); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really don't know. I didn't see the usage of CancelCommand.Execute(null)
in the codebase before, so I went with this.
Maybe @soosr knows more about this.
Fixes: #10653
This PR stops all wallets in
InputReg phase
on shutdown prevention.Also, it signals to the CJM not to participate in new rounds, once they are finished with the
Critical phase
.If the user cancels the shutdown prevention (changed his mind about quitting), restart the CJs.
How to test:
input reg phase
are stopped/cancelled.Critical phase
don't participate in new rounds.You can also test the case when you cancel the shutdown prevention, the wallets that were in input reg are restarted.