diff --git a/dashboard-ui/scripts/movieslatest.js b/dashboard-ui/scripts/movieslatest.js index 2ae9e09b0d..bd47c0c2ef 100644 --- a/dashboard-ui/scripts/movieslatest.js +++ b/dashboard-ui/scripts/movieslatest.js @@ -24,7 +24,7 @@ items: items, lazy: true, shape: 'homePagePortrait', - overlayText: true + overlayText: false })).trigger('create').createCardMenus(); }); diff --git a/dashboard-ui/scripts/selectserver.js b/dashboard-ui/scripts/selectserver.js index 423f682480..ad26fca0a4 100644 --- a/dashboard-ui/scripts/selectserver.js +++ b/dashboard-ui/scripts/selectserver.js @@ -10,9 +10,6 @@ switch (result.State) { - case MediaBrowser.ConnectionState.Unavilable: - showServerConnectionFailure(); - break; case MediaBrowser.ConnectionState.SignedIn: { var apiClient = result.ApiClient; @@ -23,6 +20,7 @@ } break; default: + showServerConnectionFailure(); break; } diff --git a/dashboard-ui/thirdparty/apiclient/connectionmanager.js b/dashboard-ui/thirdparty/apiclient/connectionmanager.js index 155e49d28c..cad25d9c7e 100644 --- a/dashboard-ui/thirdparty/apiclient/connectionmanager.js +++ b/dashboard-ui/thirdparty/apiclient/connectionmanager.js @@ -199,11 +199,11 @@ var deferred = $.Deferred(); - if (connectUser != null && connectUser.Id == credentials.ConnectUserId) { + if (connectUser && connectUser.Id == credentials.ConnectUserId) { deferred.resolveWith(null, [[]]); } - else if (self.connectToken() && self.connectUserId()) { + else if (credentials.ConnectAccessToken && credentials.ConnectUserId) { connectUser = null; @@ -213,7 +213,6 @@ deferred.resolveWith(null, [[]]); }).fail(function () { - deferred.resolveWith(null, [[]]); }); @@ -240,8 +239,8 @@ url: url, dataType: "json", headers: { - "X-Connect-UserToken": accessToken, - "X-Application": appName + "/" + appVersion + "X-Application": appName + "/" + appVersion, + "X-Connect-UserToken": accessToken } }); @@ -476,8 +475,8 @@ url: url, dataType: "json", headers: { - "X-Connect-UserToken": self.connectToken(), - "X-Application": appName + "/" + appVersion + "X-Application": appName + "/" + appVersion, + "X-Connect-UserToken": self.connectToken() } }).done(function (servers) { @@ -607,11 +606,7 @@ var deferred = $.Deferred(); - var systemInfo = null; - var connectionMode = MediaBrowser.ConnectionMode.Local; - var credentials = credentialProvider.credentials(); - - function onLocalServerTokenValidationDone() { + function onLocalServerTokenValidationDone(connectionMode, credentials) { credentialProvider.addOrUpdateServer(credentials.servers, server); server.DateLastAccessed = new Date().getTime(); @@ -640,27 +635,33 @@ $(self).trigger('connected', [result]); } - function onExchangeTokenDone() { + function onExchangeTokenDone(connectionMode, credentials) { if (server.AccessToken) { - validateAuthentication(server, connectionMode).always(onLocalServerTokenValidationDone); + validateAuthentication(server, connectionMode).always(function() { + + onLocalServerTokenValidationDone(connectionMode, credentials); + }); } else { - onLocalServerTokenValidationDone(); + onLocalServerTokenValidationDone(connectionMode, credentials); } } - function onEnsureConnectUserDone() { + function onEnsureConnectUserDone(connectionMode, credentials) { if (credentials.ConnectUserId && credentials.ConnectAccessToken && server.ExchangeToken) { - addAuthenticationInfoFromConnect(server, connectionMode, credentials).always(onExchangeTokenDone); + addAuthenticationInfoFromConnect(server, connectionMode, credentials).always(function() { + + onExchangeTokenDone(connectionMode, credentials); + }); } else { - onExchangeTokenDone(); + onExchangeTokenDone(connectionMode, credentials); } } - function onRemoteTestDone() { + function onRemoteTestDone(systemInfo, connectionMode) { if (systemInfo == null) { @@ -669,31 +670,33 @@ } updateServerInfo(server, systemInfo); + server.LastConnectionMode = connectionMode; + var credentials = credentialProvider.credentials(); if (credentials.ConnectUserId && credentials.ConnectAccessToken) { - ensureConnectUser(credentials).always(onEnsureConnectUserDone); + ensureConnectUser(credentials).always(function() { + onEnsureConnectUserDone(connectionMode, credentials); + }); } else { - onEnsureConnectUserDone(); + onEnsureConnectUserDone(connectionMode, credentials); } } - function onLocalTestDone() { + function onLocalTestDone(systemInfo, connectionMode) { if (!systemInfo && server.RemoteAddress) { // Try to connect to the local address tryConnect(server.RemoteAddress).done(function (result) { - systemInfo = result; - connectionMode = MediaBrowser.ConnectionMode.Remote; - onRemoteTestDone(); + onRemoteTestDone(result, MediaBrowser.ConnectionMode.Remote); - }).fail(function () { + }).fail(function() { onRemoteTestDone(); }); } else { - onRemoteTestDone(); + onRemoteTestDone(systemInfo, connectionMode); } } @@ -702,10 +705,7 @@ //onLocalTestDone(); // Try to connect to the local address tryConnect(server.LocalAddress).done(function (result) { - - systemInfo = result; - onLocalTestDone(); - + onLocalTestDone(result, MediaBrowser.ConnectionMode.Local); }).fail(function () { onLocalTestDone(); }); diff --git a/dashboard-ui/thirdparty/apiclient/credentials.js b/dashboard-ui/thirdparty/apiclient/credentials.js index 9642784659..fb40bad389 100644 --- a/dashboard-ui/thirdparty/apiclient/credentials.js +++ b/dashboard-ui/thirdparty/apiclient/credentials.js @@ -23,8 +23,13 @@ } function set(data) { - credentials = data; - store.setItem(key, JSON.stringify(get())); + + if (data) { + credentials = data; + store.setItem(key, JSON.stringify(data)); + } else { + self.clear(); + } } self.clear = function () {