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,
|
items: items,
|
||||||
lazy: true,
|
lazy: true,
|
||||||
shape: 'homePagePortrait',
|
shape: 'homePagePortrait',
|
||||||
overlayText: true
|
overlayText: false
|
||||||
|
|
||||||
})).trigger('create').createCardMenus();
|
})).trigger('create').createCardMenus();
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,9 +10,6 @@
|
||||||
|
|
||||||
switch (result.State) {
|
switch (result.State) {
|
||||||
|
|
||||||
case MediaBrowser.ConnectionState.Unavilable:
|
|
||||||
showServerConnectionFailure();
|
|
||||||
break;
|
|
||||||
case MediaBrowser.ConnectionState.SignedIn:
|
case MediaBrowser.ConnectionState.SignedIn:
|
||||||
{
|
{
|
||||||
var apiClient = result.ApiClient;
|
var apiClient = result.ApiClient;
|
||||||
|
@ -23,6 +20,7 @@
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
showServerConnectionFailure();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -199,11 +199,11 @@
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
|
|
||||||
if (connectUser != null && connectUser.Id == credentials.ConnectUserId) {
|
if (connectUser && connectUser.Id == credentials.ConnectUserId) {
|
||||||
deferred.resolveWith(null, [[]]);
|
deferred.resolveWith(null, [[]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (self.connectToken() && self.connectUserId()) {
|
else if (credentials.ConnectAccessToken && credentials.ConnectUserId) {
|
||||||
|
|
||||||
connectUser = null;
|
connectUser = null;
|
||||||
|
|
||||||
|
@ -213,7 +213,6 @@
|
||||||
deferred.resolveWith(null, [[]]);
|
deferred.resolveWith(null, [[]]);
|
||||||
|
|
||||||
}).fail(function () {
|
}).fail(function () {
|
||||||
|
|
||||||
deferred.resolveWith(null, [[]]);
|
deferred.resolveWith(null, [[]]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -240,8 +239,8 @@
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
headers: {
|
headers: {
|
||||||
"X-Connect-UserToken": accessToken,
|
"X-Application": appName + "/" + appVersion,
|
||||||
"X-Application": appName + "/" + appVersion
|
"X-Connect-UserToken": accessToken
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -476,8 +475,8 @@
|
||||||
url: url,
|
url: url,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
headers: {
|
headers: {
|
||||||
"X-Connect-UserToken": self.connectToken(),
|
"X-Application": appName + "/" + appVersion,
|
||||||
"X-Application": appName + "/" + appVersion
|
"X-Connect-UserToken": self.connectToken()
|
||||||
}
|
}
|
||||||
|
|
||||||
}).done(function (servers) {
|
}).done(function (servers) {
|
||||||
|
@ -607,11 +606,7 @@
|
||||||
|
|
||||||
var deferred = $.Deferred();
|
var deferred = $.Deferred();
|
||||||
|
|
||||||
var systemInfo = null;
|
function onLocalServerTokenValidationDone(connectionMode, credentials) {
|
||||||
var connectionMode = MediaBrowser.ConnectionMode.Local;
|
|
||||||
var credentials = credentialProvider.credentials();
|
|
||||||
|
|
||||||
function onLocalServerTokenValidationDone() {
|
|
||||||
|
|
||||||
credentialProvider.addOrUpdateServer(credentials.servers, server);
|
credentialProvider.addOrUpdateServer(credentials.servers, server);
|
||||||
server.DateLastAccessed = new Date().getTime();
|
server.DateLastAccessed = new Date().getTime();
|
||||||
|
@ -640,27 +635,33 @@
|
||||||
$(self).trigger('connected', [result]);
|
$(self).trigger('connected', [result]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onExchangeTokenDone() {
|
function onExchangeTokenDone(connectionMode, credentials) {
|
||||||
|
|
||||||
if (server.AccessToken) {
|
if (server.AccessToken) {
|
||||||
validateAuthentication(server, connectionMode).always(onLocalServerTokenValidationDone);
|
validateAuthentication(server, connectionMode).always(function() {
|
||||||
|
|
||||||
|
onLocalServerTokenValidationDone(connectionMode, credentials);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
onLocalServerTokenValidationDone();
|
onLocalServerTokenValidationDone(connectionMode, credentials);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onEnsureConnectUserDone() {
|
function onEnsureConnectUserDone(connectionMode, credentials) {
|
||||||
|
|
||||||
if (credentials.ConnectUserId && credentials.ConnectAccessToken && server.ExchangeToken) {
|
if (credentials.ConnectUserId && credentials.ConnectAccessToken && server.ExchangeToken) {
|
||||||
|
|
||||||
addAuthenticationInfoFromConnect(server, connectionMode, credentials).always(onExchangeTokenDone);
|
addAuthenticationInfoFromConnect(server, connectionMode, credentials).always(function() {
|
||||||
|
|
||||||
|
onExchangeTokenDone(connectionMode, credentials);
|
||||||
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
onExchangeTokenDone();
|
onExchangeTokenDone(connectionMode, credentials);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onRemoteTestDone() {
|
function onRemoteTestDone(systemInfo, connectionMode) {
|
||||||
|
|
||||||
if (systemInfo == null) {
|
if (systemInfo == null) {
|
||||||
|
|
||||||
|
@ -669,31 +670,33 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
updateServerInfo(server, systemInfo);
|
updateServerInfo(server, systemInfo);
|
||||||
|
server.LastConnectionMode = connectionMode;
|
||||||
|
var credentials = credentialProvider.credentials();
|
||||||
|
|
||||||
if (credentials.ConnectUserId && credentials.ConnectAccessToken) {
|
if (credentials.ConnectUserId && credentials.ConnectAccessToken) {
|
||||||
ensureConnectUser(credentials).always(onEnsureConnectUserDone);
|
ensureConnectUser(credentials).always(function() {
|
||||||
|
onEnsureConnectUserDone(connectionMode, credentials);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
onEnsureConnectUserDone();
|
onEnsureConnectUserDone(connectionMode, credentials);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onLocalTestDone() {
|
function onLocalTestDone(systemInfo, connectionMode) {
|
||||||
|
|
||||||
if (!systemInfo && server.RemoteAddress) {
|
if (!systemInfo && server.RemoteAddress) {
|
||||||
|
|
||||||
// Try to connect to the local address
|
// Try to connect to the local address
|
||||||
tryConnect(server.RemoteAddress).done(function (result) {
|
tryConnect(server.RemoteAddress).done(function (result) {
|
||||||
|
|
||||||
systemInfo = result;
|
onRemoteTestDone(result, MediaBrowser.ConnectionMode.Remote);
|
||||||
connectionMode = MediaBrowser.ConnectionMode.Remote;
|
|
||||||
onRemoteTestDone();
|
|
||||||
|
|
||||||
}).fail(function () {
|
}).fail(function() {
|
||||||
onRemoteTestDone();
|
onRemoteTestDone();
|
||||||
});
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
onRemoteTestDone();
|
onRemoteTestDone(systemInfo, connectionMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -702,10 +705,7 @@
|
||||||
//onLocalTestDone();
|
//onLocalTestDone();
|
||||||
// Try to connect to the local address
|
// Try to connect to the local address
|
||||||
tryConnect(server.LocalAddress).done(function (result) {
|
tryConnect(server.LocalAddress).done(function (result) {
|
||||||
|
onLocalTestDone(result, MediaBrowser.ConnectionMode.Local);
|
||||||
systemInfo = result;
|
|
||||||
onLocalTestDone();
|
|
||||||
|
|
||||||
}).fail(function () {
|
}).fail(function () {
|
||||||
onLocalTestDone();
|
onLocalTestDone();
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,8 +23,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function set(data) {
|
function set(data) {
|
||||||
|
|
||||||
|
if (data) {
|
||||||
credentials = data;
|
credentials = data;
|
||||||
store.setItem(key, JSON.stringify(get()));
|
store.setItem(key, JSON.stringify(data));
|
||||||
|
} else {
|
||||||
|
self.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.clear = function () {
|
self.clear = function () {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue