Hi All,

Am using the latest custom dashboards module, receiving:

WebSocket connection to 'ws://our-server-here:8080/rest/v1/websocket/point-value' failed: Error during WebSocket handshake: Incorrect 'Sec-WebSocket-Accept' header value

When attempting to use a point value directive. The error is thrown by EventManager.js line 81:

var socket = this.socket = new WebSocket(protocol + '//' + host + this.url);

To reproduce, am using the following javascript snippet:

var user = User.login({
username: username.value,
password: password.value
});

        user.$promise.then(function() {
            console.log('doLogin, user promise resolved');
            /*
            var redirect = 'dashboard.home';
            if ($state.loginRedirect) {
                redirect = $state.loginRedirect;
                delete $state.loginRedirect;
            }
            $rootScope.clearErrors();
            $state.go(redirect);*/

            // reload the page.

            setTimeout(
                function () {
                    console.log('doLogin, attempt refresh');
                    //location.href=location.href
                    location.reload(true);
                },
                2000);

        }, function(error) {
            console.log('doLogin, error');
            console.error(error);
            /*
            if (error.status === 406) {
                $scope.errors.invalidLogin = true;
            }
            else {
                $scope.errors.otherError = error.statusText || 'Connection refused';
            }*/
        });

After a few minutes the dashboard appears to retry the websocket connect, and everything is ok. If I reload immediately the error is not thrown. The problem I have is detecting the initial websocket failure and retrying. Has anyone seen the same? How is Sec-WebSocket-Accept being set by the client? Am I missing a step to initialise the client after the resolve of User.login().$promise?

Cheers,
Tim