[ https://issues.apache.org/jira/browse/MYFACES-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17848204#comment-17848204 ]
Melloware commented on MYFACES-4667: ------------------------------------ Mojarra fix: https://github.com/eclipse-ee4j/mojarra/pull/5446 > UIData#invokeOnComponent does not find components > ------------------------------------------------- > > Key: MYFACES-4667 > URL: https://issues.apache.org/jira/browse/MYFACES-4667 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.3.10 > Reporter: SteGr > Priority: Major > > While working an a bug in [mojarra implementation|#issuecomment-2115154280]] > I found an [old primefaces > issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] > which was somehow related to my issue. Using the reproducer of that PF > issue, I was able to really find the root cause of the issue and that even > myfaces is affected - contrary to what was assumed at the time. > > *What happens?* > A {{p:datatable}} with {{p:column*s*}} was updated by the backend using > {{{}PrimeFaces#Ajax#update{}}}. The implementation used > {{UIComponent#invokeOnComponent}} to find the component of the given > clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} > won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls > back to just forwarding the given clientId. > *Why does it happen?* > Like mojarra, myfaces filters the children on processing using {{{}instanceof > UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore > {{p:columns}} is not a candiate and is simply ignored. > *Possible fix* (not yet tested) > Remove the check. > *How to reproduce* > Use the [reproducer > |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] > and change the PROJECT_STAGE to Development. Run the project using the > myfaces23 profile. You should get a lot of logging entries like > {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update > WARNUNG: PrimeFaces.current().ajax().update() called but component cant be > resolved! Expression will just be added to the renderIds: \{0} > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)