They leveraged a hack in the library to replace the Web browser
WebSocket implementation by the one provided by the SockJS library which falls back to a variety of browser-specific transport protocols if the browser does not suppor the Web Socket protocol.
Originally introduced to test the
stomp-websocket library, it defined a
WebSocketStompMock global variable that was replacing the Web browser
WebSocket class by a mock. This was not meant to be used on the client side and is a bit dirty for that (as it pollutes the global namespace).
An user reported that this hack was no longer working on recent commits.
I fixed it and introduced a cleaner way to switch the WebSocket implementation to use by setting the
Stomp.WebSocketClass variable instead.
With the most recent version, Web browsers can now leverage the SockJS libary with stomp-websocket using the following code:
Stomp.WebSocketClass = SockJS;
// same as usual
var client = Stomp.client(url)
Web Sockets for everyone!