[ 
https://issues.apache.org/jira/browse/MYFACES-4680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17890549#comment-17890549
 ] 

Volodymyr Siedlecki edited comment on MYFACES-4680 at 10/17/24 7:25 PM:
------------------------------------------------------------------------

Looks like the wrong page was requested. "pushed" is displayed for the other 
tests, just not the viewscope case.  Don't forget to add my java fix in (PR 
748) to get a response back. 

1) Visit spec1396UserScopedWebsocket to initialize the channel  (poor app 
design). 
2) Go to [spec1396ViewScopedWebsocket.xhtml for the failing scenario 
|https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/main/webapp/spec1396ViewScopedWebsocket.xhtml#L39]


was (Author: volosied):
Looks like the wrong page was requested.

1) Visit spec1396UserScopedWebsocket to initialize the channel  (poor app 
design). 
2) Go to [spec1396ViewScopedWebsocket.xhtml for the failing scenario 
|https://github.com/jakartaee/faces/blob/4.1.0-RELEASE/tck/faces23/websocket/src/main/webapp/spec1396ViewScopedWebsocket.xhtml#L39]

> 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)

Reply via email to