Harry Ring created MYFACES-4240: ----------------------------------- Summary: <f:websocket /> onopen eventhandler is called only the first time Key: MYFACES-4240 URL: https://issues.apache.org/jira/browse/MYFACES-4240 Project: MyFaces Core Issue Type: Bug Components: JSR-372 Affects Versions: 2.3.1 Environment: java 1.8, tomcat 9.0.8, Windows 10 Reporter: Harry Ring
I use the socket below. _<f:websocket id="usersocket" connected="false"_ _onmessage="userSocketListener"_ _onopen="userSocketOpened"_ _onclose="userSocketClosed"_ _onerror="alert('ERROR')"_ _/>_ If I call _jsf.push.open('usersocket')_ and __ _userSocketOpened()_ is called. Then I call __ _jsf.__push.close('usersocket')_ and __ _userSocketClosed()_ is called. Then I call __ _jsf.push.open('usersocket')_ and __ _userSocketOpened()_ is not called. I looked into myfaces-api-2.3.1-sources.jar!\META-INF\internal-resources\org.apache.myfaces.core.api\jsf.js and found the _onopen_ eventhandler in line 283: _socket.onopen = function(event) {_ _{color:#d04437}if (reconnectAttempts == null) {color}{_ _var clientIds = clientIdsByTokens[channelToken];_ _for (var i = clientIds.length - 1; i >= 0; i--){_ _var socketClientId = clientIds[i];_ _components[socketClientId]['onopen'](channel);_ _}_ _}_ _reconnectAttempts = 0;_ _}_ When the socket is opened the first time reconnectAttempts is null, when the socket is opened the second time reconnectAttempts is 0, so the line should be _if (reconnectAttempts == null || reconnectAttempts == 0)_ -- This message was sent by Atlassian JIRA (v7.6.3#76005)