[
https://issues.apache.org/jira/browse/MYFACES-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17891421#comment-17891421
]
Werner Punz commented on MYFACES-4680:
--------------------------------------
I can clearly reproduce it, I will look into it later today!
Thanks for the help!
> 4.1 TCK Failure: Spec1396IT#testViewScopedWebsocket
> ---------------------------------------------------
>
> Key: MYFACES-4680
> URL: https://issues.apache.org/jira/browse/MYFACES-4680
> Project: MyFaces Core
> Issue Type: Bug
> Affects Versions: 2.2.15, 2.3.10, 2.3-next-M8, 4.0.0, 4.1.0-RC2
> Reporter: Volodymyr Siedlecki
> Assignee: Volodymyr Siedlecki
> Priority: Major
> Attachments: image-2024-10-17-21-20-41-622.png,
> image-2024-10-17-21-21-22-229.png, screenshot-1.png,
> test-faces23-websocket.war
>
>
> The app expects "pushed!" to display when the "push" button is pressed. It
> is not, and the test fails.
> Ajax requests do not occur when they are registered a websocket tag, from
> what I could gather. It seems like the renderAjaxOutput behavior isn't
> registered / called with the faces.push.init script.
> MyFaces generated code (see behavior param (1) – second to last):
> {code:java}
> faces.push.init('j_id_c','/test-faces23-websocket/jakarta.faces.push/view?76379b861759b95fa70c118d2e05d29f','view',function(){document.getElementById('opened').innerHTML='yes';},null,null,null,{renderAjaxOutput:[function(event){myfaces.ab('j_id_c',event,'renderAjaxOutput','','ajaxOutput')}]},true);{code}
> Facelet:
> [https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/main/webapp/spec1396ViewScopedWebsocket.xhtml#L39]
> {code:java}
> <f:websocket channel="view" scope="view"
> onopen="function(){document.getElementById('opened').innerHTML='yes';}">
> <f:ajax event="renderAjaxOutput" render="ajaxOutput" />
> </f:websocket>{code}
> Link to Test:
> [https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/test/java/ee/jakarta/tck/faces/test/javaee8/websocket/Spec1396IT.java#L94]
> I test the same TCK app on Mojarra, and it sends out two XHR requests when
> the button is clicked. One for the button click and another for the
> renderAjaxOutput event.
> MyFaces only handles the one XHR for the button click. Neither do I see the
> onMessage invoked, which per the javadoc should trigger the behavior (
> "behavior param: Client behavior functions to be invoked when specific
> message is received.")?
> Docs:
> [1)
> https://jakarta.ee/specifications/faces/4.0/jsdoc/faces.push|https://jakarta.ee/specifications/faces/4.0/jsdoc/faces.push]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)