appsmith: [Bug] AppsmithException: "widgetType" : "TABLE_WIDGET", "bindingPath" : "derivedColumns.customColumn2.computedValue", ...
Sentry Issue: APPSMITH-1G0
AppsmithException: "widgetType" : "TABLE_WIDGET", "bindingPath" : "derivedColumns.customColumn2.computedValue", "message" : "Binding path in the widget not found. Please reach out to Appsmith customer support to resolve this.", "widgetName" : "data_table", "widgetId" : "jabdu9f16g", "pageId" : "61cbe7a3a4437918c01f7aee", "layoutId" : "61cbe7a3a4437918c01f7aec", "dynamicBinding" : ""
at com.appsmith.server.services.ce.LayoutActionServiceCEImpl.extractAllWidgetNamesAndDynamicBindingsFromDSL(LayoutActionServiceCEImpl.java:596)
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 55 (54 by maintainers)
@riodeuno while triaging this we decided to address the problem at the root level. And also @keyurparalkar pushed some changes that capture this issue in FE and logs it in the sentry along with Smartlook recording. So shall we go through the recordings and fix it at the root rather than cleaning the dynamicBindingPathList before saving?
@yaldram Could you please go through the smartlook recordings in sentry issues?. Look for the error message in the following format
INVALID_DynamicPathBinding_CLIENT_ERROR: Invalid dynamic path binding list: {{PATH_OF_THE_PEROPERTY}}
@jsartisan are you looking into this ?
The last commit fixed this issue for all the widgets, but we see the TABLE WIDGET still having the issue, we think it might be some other flow that may be causing this issue. Therefore re-opening it.
@somangshu I am planning to start investigating this issue from tomorrow.
The issue is still not fixed as part of https://github.com/appsmithorg/appsmith/pull/10803
@sbalaji1192 the new error is getting captured in the sentry dashboard. Here is the search query: https://sentry.io/organizations/appsmith/issues/?query=INVALID_DynamicPathBinding_CLIENT_ERROR&statsPeriod=14d
Below is one of the new errors: https://sentry.io/organizations/appsmith/issues/2999269467/?query=INVALID_DynamicPathBinding_CLIENT_ERROR&statsPeriod=14d
@somangshu Created an issue and assigned @keyurparalkar for now - https://github.com/appsmithorg/appsmith/issues/10712
@somangshu @riodeuno Let’s push a fix to identify this integrity issue before we make the save call and throw a sentry error. That way we will have the stack trace and smart look recording that will help us in debugging this.
@SatishGandham @sbalaji1192 and I triaged this issue. Here are the findings
dynamicBindingPathList
contains a property path that doesn’t have a binding. For example, if we add a binding{{ 1 === 1 }}
to a property of a widget, sayisVisible
, thedynamicBindingPathList
automatically includes{ key: "isVisible" }
. This issue occurs when the entry in thedynamicBindingPathList
exists, while theisVisible
property no longer has a binding.My Recommendation:
@sbalaji1192 one update - the error thrown by the server is because it expects the paths in
dynamicBindingPathList
to have a valid binding - it does a regex match to check if something similar with double curly braces exists or not{{...}}
. So, even if the path is valid, it throws an error. The expectation from the server side is that if any path contains a value which is not a valid binding or is empty, then the path should not be part of the dynamic binding path list.@sumitsum @sbalaji1192 is this related to this one? Looks like Saptami has some steps https://github.com/appsmithorg/appsmith/issues/9439
@sbalaji1192 just adding some more context here - the issue that the server is reporting is that the client has sent it a
bindingPath
that does not exists in the widget’sdsl
. This is the same issue that was addressed in the other references that I have provided. The issues discussed in the references are focussed on the table widget, but if this issue is getting reported for other widgets too then IMO this could be a problem across all the widgets - ie. computing thebindingPath
by the client.