Firefox 11 websockets and FOP2
Firefox 11 was released a couple of weeks ago. Now it includes html5 websockets support by default (previous versions had this feature disabled).
Unfortunately, the websocket handshake that Firefox 11 uses has a little piece of information that prevents the FOP2 websocket connection from succeeding.
This means that if you use Firefox 11, as is, it won't be able to connect with FOP2 versions 2.25 or prior.
I had to quickly update the FOP2 server to accept this handshake and make Firefox 11 websocket feature functional. This was implemented in FOP2 version 2.26.
So, if you upgrade FOP2 to version 2.26, you won' t have issues with Firefox 11, but with one exception: websocket connections are not going to be established by Firefox 11 if the http connection is done using ssl (https).
Firefox 11 and FOP2 over HTTPS
There is a setting you can set in Firefox to allow websocket connections over https links, you have to type in the address bar:
about:config
After accepting the warning window, search for:
network.websocket.allowInsecureFromHTTPS
And set it to true
That will make websockets in Firefox 11 work even if the http connection is done via ssl. (You do not need to do this if you access the fop2 application using regular http connectios).
Other ways around the issue
The problem is in the websocket handshake, it is possible to make it work by disabling websockets, either in FOP2 or in Firefox itself.
In FOP2, since version 2.24, you can disable websockets globally, you can edit the file /var/www/html/fop2/js/presence.js and in there set:
var disableWebSocket = true;
Then be sure to clear your firefox cache and you will not have issues with websockets again, as FOP2 will use the Flash xmlsockets connection instead.
Alternatively, you can disable websockets support in Firefox, in the address bar go to:
about:config
Accept the warning and search for:
network.websocket.enabled
And set it to false.