-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Use AdvancedGasInputs
in AdvancedTabContent
#7186
Use AdvancedGasInputs
in AdvancedTabContent
#7186
Conversation
85f800f
to
e3b2a95
Compare
This should be ready to review now. The tests had been failing because a debounce was added to one of the fields that wasn't there before, so an additional pause was required. The previous gas controls in |
d9463cf
to
6b49e5a
Compare
I had to update this PR to fix tests after a rebase, then I reconsidered an earlier decision I made. Both components dealt with input debouncing separately, both in less than ideal ways. At first, the The new behavior now matches the old |
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.
QA'd and reviewed, looks good.
6b49e5a
to
012d205
Compare
The `AdvancedGasInputs` component was originally extracted from the `AdvancedTabContent` component, duplicating much of the rendering logic. They have since evolved separately, with bugs being fixed in one place but not the other. The inputs and outputs expected weren't exactly the same, as the `AdvancedGasInputs` component converts the input custom gas price and limit, and it converts them both in the setter methods as well. The `GasModalPageContainer` had to be adjusted to avoid converting these values multiple times. Both components dealt with input debouncing separately, both in less than ideal ways. `AdvancedTabContent` didn't debounce either field, but it did debounce the check for whether the gas limit field was below the minimum value. So if a less-than-minimum value was set, it would be propogated upwards and could be saved if the user clicked 'Save' quickly enough. After a second delay it would snap back to the minimum value. The `AdvancedGasInputs` component debounced both fields, but it would replace any gas limit below the minimum with the minimum value. This led to a problem where a brief pause during typing would reset the field to 21000. The `AdvancedGasInputs` approach was chosen, except that it was updated to no longer change the gas limit if it was below the minimum. Instead it displays an error. Parent components were checked to ensure they would detect the error case of the gas limit being set too low, and prevent the form submission in those cases. Of the three parents, one had already dealt with it correctly, one needed to convert the gas limit from hex first, and another needed the gas limit check added. Closes MetaMask#6872
Empty README files have been removed, and a mistake in the index file for the send page has been corrected. The Gas Slider component class name was updated as well; it looks like it was originally created from `AdvancedTabContent`, so it still had that class name.
012d205
to
7db4fea
Compare
The
AdvancedGasInputs
component was originally extracted from theAdvancedTabContent
component, duplicating much of the rendering logic. They have since evolved separately, with bugs being fixed in one place but not the other.The inputs and outputs expected weren't exactly the same, as the
AdvancedGasInputs
component converts the input custom gas price and limit, and it converts them both in the setter methods as well. TheGasModalPageContainer
had to be adjusted to avoid converting these values multiple times.A few other changes were made to avoid using variables as parameters to the localization helper function. This is to make it easier to detect when messages are unused.
Closes #6872