appsmith
appsmith copied to clipboard
[Bug]: validation and state updates for the inter-dependent controls in the property pane not working
Is there an existing issue for this?
- [X] I have searched the existing issues
Description
The above bug was found during the development of Dynamic Feature called Auto Height with Limits. Here we have 2 values called min and max limit. Min cannot be greater than max, this is a validation we added. Now the min should check for its validations every time max is updated, which is currently not happening.
More findings:-
I added a property update for min control in the update hook for max control. Now after everytime max is updated and its last value was less than min, it sends an update for min control as well from its updateHook. But the error still remains, but as soon as I focus on the min control the red border goes away.
After more debugging I found that CodeEditor.tsx
which is used in InputTextControl
uses a state property called AppState.evaluations.tree
, this get updates everytime we change a property of a widget. But I think there is no interdependcy logic built into this, so changing max will change the tree but will not re-render min control.
Steps To Reproduce
- Grab a text widget.
- Enable the Auto Height with limits.
- Set min to be greater than max.
- Observe there is an error.
- Now update the max to be greater than min.
- Observe that the max control error is gone but min control still shows an error.
Please test it herem https://appsmith-mztipjmre-get-appsmith.vercel.app
Public Sample App
https://appsmith-mztipjmre-get-appsmith.vercel.app
Version
Cloud
We need to configure min and max properties for revalidation as mentioned in the PR description https://github.com/appsmithorg/appsmith/pull/17138 to fix above issue.
One more scenario where revalidation is not working, documented here.
cc: @dilippitchika, @somangshu, @satbir121
@Rishabh-Rathod the issue was linked to the PR, but was re-opened. What happened, the PR does not address this particular issue?
@somangshu the re-validation PR closing this issue was mainly tested with the Tabs widget
as the dynamic height feature's PR was still a work in progress. ( not merged to release branch )
After dynamic height and re-validation, PR both were merged in the release branch. We found a few bugs for re-validation while the QA verification process and reopened the above issue to track it.
cc: @satbir121 @AnandiKulkarni
@Rishabh-Rathod @satbir121 we closed this was a dependency for #17652, which is now merged, Please take this up when you get the chance
Removing QA label as this needs to be picked up -cc @Rishabh-Rathod