feat: add deleteAfterResult option to approval controller #4715
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Explanation
Currently, when accepting an approval request with the
ApprovalController
, the request is removed from the state as soon asaccept
is called.This adds an optional
deleteAfterResult
option which (ifwaitForResult
is also set) retains the approval request in the state until a result callback is invoked by the creator of the approval request.Since the clients typically route based on the presence of an approval request in the state, this can simplify some scenarios where the route or component is needed until all the approval request related processing is complete.
This also aligns with the current
ApprovalController
patch in the mobile client.References
Changelog
@metamask/approval-controller
deleteAfterResult
option toaccept
method to delay removal of approval request from state.Checklist