-
Notifications
You must be signed in to change notification settings - Fork 14
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
Fix: Multi-sig extension settings issues #3780
base: master
Are you sure you want to change the base?
Conversation
…only enable when form is dirty
928afbd
to
d2ac447
Compare
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.
Hey @iamsamgibbs thanks for your super nice fix 🥇 👏
Tested updating the global
threshold and upon returning to the extension page, the value is still displayed
Screen.Recording.2024-11-27.at.12.10.02.mov
Also if we update the threshold per team, the values get saved and upon return to the extension page, this section is toggled on
Screen.Recording.2024-11-27.at.12.10.44.mov
Just one thing that I have noticed: if you try to save the same values, after the timeout expires, an error toast is shown
Screen.Recording.2024-11-27.at.12.36.52.mov
So I'm wondering if there is anything we can do about it (maybe not show the Save settings
button if the values are identical with the already saved ones) or even if it makes sense to solve this issue in this PR. What do you think @iamsamgibbs?
I actually tried to implement hiding the save button as you suggested, but it turns out to be a bit of a pain. There is already an |
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.
Thanks @iamsamgibbs! Then I'll approve this PR 💪
Created new issue #3783 to handle this |
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.
Tested this all without refreshing and all values show up as expected. Nicely fixed!
Screencast.from.2024-11-28.12-25-58.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.
waitForCondition
is such a great helper, kudos, we'll be able to use this to solve a lot of cases, (looking at you PaymentBuilderWidget
👀 )
The threshold is correctly updated ✔️ And I can also confirm that I could immediately start craeting multisig actions when I had enough memebrs
https://github.com/user-attachments/assets/84edac2b-2ded-471b-985f-aeb3e7c05ef9
I have however found a bug which.... I hope won't be too much of a pain to solve :')
If you set the global threshold to something else, it will update it, but not the domain values, so it opens the accordion.
I couldn't reproduce it 100% of the time, but basically
- set the threshold to 2, refresh the page
- set the threshold to 1 and see that the accordion opens and the previous values are used
Attaching a video where you can see how this failed to happen the first time, but it happened the second time 🤷
Description
This PR adds an improvement and fixes an issue with the extensions settings tabs.
The extension data is now refetched when saving changes to an extension and properly waits for these updates to be reflected in the database.
The multi-sig custom settings accordion is now open by default if any threshold is different than the colony threshold.
Testing
2
.Diffs
New stuff ✨
waitForCondition
utility functionwaitForDbAfterExtensionSettingsChange
function which is called on save changes with configurable extensions to ensure extension data is refetched after the change in settings is appliedChanges 🏗
Resolves #3598
Resolves #3034