-
Notifications
You must be signed in to change notification settings - Fork 15
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
Feat: Remove retry mechanism #3835
Feat: Remove retry mechanism #3835
Conversation
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.
Really nice work on fixing these issues @iamsamgibbs 🥇
Created a Simple payment
and rejected the transaction
The transaction appeared in the UserHub
without the retry button
Created a new colony and this is before form submission
Rejected the first transaction
Resubmitted the form and accepted the 1st transaction
But rejected the 2nd transaction
Got redirected to the retry screen
Accepted all transactions
And got redirected to the new colony page
Then created a new colony, confirmed the first transaction and rejected the 2nd to get to the retry screen. Then accepted the 1st transaction and rejected the 2nd
Pressed the Go to your colony
link
Created yet another colony, confirmed the first 2 transactions and rejected the 3rd and saw directly the error notice
All good from my side, really nice job! 💯
Nice PR, thanks for working on this, I will try and do a review (don't hold out for me though). |
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.
Holy hell this is some nice work here!!!
Tested both rejecting single, random transactions, as well as rejecting parts of the Colony creation flow.
Fun fact, we had a similar "colony creation retry" functionality in the old Dapp, when it was on Mainnet
Screencast.from.2024-12-05.17-13-17.mp4
Screencast.from.2024-12-05.17-14-31.mp4
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.
Really really nice solution @iamsamgibbs 👏
All the flows look to be working great too! 🎉 Amazing stuff.




Description
This PR removes the "Retry" mechanism from the UserHub. The retry mechanism was inherently flawed as it would only retry individual transactions, not entire sagas, meaning any mutations or nuances of the saga would be missed on a reattempt. The intention going forward is that actions should be retry-able from where they are created, which will be properly implemented after #2528 is complete as it will make retrying actions much simpler.
This PR also adds a temporary retry system to the create colony flow (which is currently broken on master) but this should be replaced in the future.
Testing
node scripts/create-colony-url.js
and open the linkScreen.Recording.2024-12-04.at.14.38.21.mov
Screen.Recording.2024-12-04.at.16.52.17.mov
Screen.Recording.2024-12-04.at.17.02.24.mov
Step 9 - Expect to see a different error, this time the SetOwner transaction has succeeded, but the extension related transactions failed. At this point the extensions can be manually installed in the colony itself so we can click the link to navigate to the colony. (Rather than implementing another temporary saga just for this edge case).
Step 10 - Repeat the create colony process. This time accept the first two transactions and reject the third. You should skip the retry stage and just go straight to the extension error notice.
Screen.Recording.2024-12-04.at.17.05.45.mov
Screen.Recording.2024-12-04.at.17.06.46.mov
Diffs
Changes 🏗
Deletions ⚰️
Resolves #3707
Resolves #3549