fix(ui): Fix jumpy "Source" panel when typing (issue #15961) #18227
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.
Fixes #15961
This PR fixes an issue where each keystroke in the repo URL field of the "Source" panel for creating a new application triggers a call to the backend and component rerender, leading the component to feel "jumpy"
Approach
Investigation
<ApplicationCreatePanel />
parent component has a<Form />
child component with a propformDidUpdate
app
data via callingprops.onAppChanged()
app
is updatedapp
is passed as a prop into the child component that renders the "Revision"/"Chart" field of the "Source" panel, every keystroke will cause this field to re-renderSolution
ssh
,http
,https
,git
), and we would need to maintain this validation logicprops.onAppChanged()
Results
Before
Kapture.2024-05-15.at.16.07.06.mp4
Repo URL field
After
Repo URL field
Kapture.2024-05-15.at.16.47.50.mp4
Creating a new app
Kapture.2024-05-15.at.16.54.43.mp4
Checklist: