mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
resolve mixed folder detection
This commit is contained in:
parent
84c83ba967
commit
8a14efb22b
4 changed files with 40 additions and 37 deletions
|
@ -24,7 +24,7 @@
|
|||
items: items,
|
||||
lazy: true,
|
||||
shape: 'homePagePortrait',
|
||||
overlayText: true
|
||||
overlayText: false
|
||||
|
||||
})).trigger('create').createCardMenus();
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
|
|
|
@ -23,8 +23,13 @@
|
|||
}
|
||||
|
||||
function set(data) {
|
||||
|
||||
if (data) {
|
||||
credentials = data;
|
||||
store.setItem(key, JSON.stringify(get()));
|
||||
store.setItem(key, JSON.stringify(data));
|
||||
} else {
|
||||
self.clear();
|
||||
}
|
||||
}
|
||||
|
||||
self.clear = function () {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue