mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update components
This commit is contained in:
parent
38acdb335b
commit
7204e2a9d8
7 changed files with 133 additions and 27 deletions
|
@ -16,12 +16,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.0.37",
|
||||
"_release": "1.0.37",
|
||||
"version": "1.0.41",
|
||||
"_release": "1.0.41",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.0.37",
|
||||
"commit": "b383fff379b92417525a3295ebbe3b7db9e0b1a4"
|
||||
"tag": "1.0.41",
|
||||
"commit": "19bdc440adac07ea1a5491abaec89cbdb1c99e17"
|
||||
},
|
||||
"_source": "git://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
|
||||
"_target": "~1.0.3",
|
||||
|
|
|
@ -3444,5 +3444,57 @@
|
|||
contentType: "application/json"
|
||||
});
|
||||
};
|
||||
|
||||
self.createPin = function () {
|
||||
|
||||
return self.ajax({
|
||||
type: "POST",
|
||||
url: self.getUrl('Auth/Pin'),
|
||||
data: {
|
||||
deviceId: self.deviceId(),
|
||||
appName: self.appName()
|
||||
},
|
||||
dataType: "json"
|
||||
});
|
||||
};
|
||||
|
||||
self.getPinStatus = function (pinInfo) {
|
||||
|
||||
var queryString = {
|
||||
deviceId: pinInfo.DeviceId,
|
||||
pin: pinInfo.Pin
|
||||
};
|
||||
|
||||
return self.ajax({
|
||||
type: 'GET',
|
||||
url: self.getUrl('Auth/Pin', queryString),
|
||||
dataType: 'json'
|
||||
});
|
||||
};
|
||||
|
||||
function exchangePin(pinInfo) {
|
||||
|
||||
return self.ajax({
|
||||
type: 'POST',
|
||||
url: self.getUrl('Auth/Pin/Exchange'),
|
||||
data: {
|
||||
deviceId: pinInfo.DeviceId,
|
||||
pin: pinInfo.Pin
|
||||
},
|
||||
dataType: 'json'
|
||||
});
|
||||
}
|
||||
|
||||
self.exchangePin = function (pinInfo) {
|
||||
|
||||
return exchangePin(pinInfo).then(function (result) {
|
||||
|
||||
if (self.onAuthenticated) {
|
||||
self.onAuthenticated(self, result);
|
||||
}
|
||||
|
||||
return result;
|
||||
});
|
||||
};
|
||||
};
|
||||
});
|
|
@ -5,7 +5,8 @@
|
|||
ServerSelection: 1,
|
||||
ServerSignIn: 2,
|
||||
SignedIn: 3,
|
||||
ConnectSignIn: 4
|
||||
ConnectSignIn: 4,
|
||||
ServerUpdateNeeded: 5
|
||||
};
|
||||
|
||||
var ConnectionMode = {
|
||||
|
@ -214,6 +215,16 @@
|
|||
return connectUser;
|
||||
};
|
||||
|
||||
var minServerVersion = '3.0.5724';
|
||||
self.minServerVersion = function (val) {
|
||||
|
||||
if (val) {
|
||||
minServerVersion = val;
|
||||
}
|
||||
|
||||
return minServerVersion;
|
||||
};
|
||||
|
||||
self.appVersion = function () {
|
||||
return appVersion;
|
||||
};
|
||||
|
@ -1014,6 +1025,30 @@
|
|||
return (str1 || '').toLowerCase() == (str2 || '').toLowerCase();
|
||||
}
|
||||
|
||||
function compareVersions(a, b) {
|
||||
|
||||
// -1 a is smaller
|
||||
// 1 a is larger
|
||||
// 0 equal
|
||||
a = a.split('.');
|
||||
b = b.split('.');
|
||||
|
||||
for (var i = 0, length = Math.max(a.length, b.length) ; i < length; i++) {
|
||||
var aVal = parseInt(a[i] || '0');
|
||||
var bVal = parseInt(b[i] || '0');
|
||||
|
||||
if (aVal < bVal) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (aVal > bVal) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function testNextConnectionMode(tests, index, server, wakeOnLanSendTime, options, resolve) {
|
||||
|
||||
if (index >= tests.length) {
|
||||
|
@ -1052,8 +1087,18 @@
|
|||
|
||||
tryConnect(address, timeout).then(function (result) {
|
||||
|
||||
if (compareVersions(self.minServerVersion(), result.Version) == 1) {
|
||||
|
||||
console.log('minServerVersion requirement not met. Server version: ' + result.Version);
|
||||
resolve({
|
||||
State: ConnectionState.ServerUpdateNeeded,
|
||||
Servers: [server]
|
||||
});
|
||||
|
||||
} else {
|
||||
console.log('calling onSuccessfulConnection with connection mode ' + mode + ' with server ' + server.Name);
|
||||
onSuccessfulConnection(server, result, mode, options, resolve);
|
||||
}
|
||||
|
||||
}, function () {
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
self.uploadImages = function (server) {
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
LocalAssetManager.getCameraPhotos().then(function (photos) {
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
|||
|
||||
function uploadFile(file, apiClient) {
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['fileupload', "cryptojs-sha1"], function () {
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
self.sync = function (apiClient, serverInfo, options) {
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
reportOfflineActions(apiClient, serverInfo).then(function () {
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
console.log('Begin reportOfflineActions');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -67,7 +67,7 @@
|
|||
|
||||
console.log('Begin syncData');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -117,7 +117,7 @@
|
|||
|
||||
console.log('Begin removeLocalItems');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
removeNextLocalItem(syncDataResult.ItemIdsToRemove, 0, serverId, deferred);
|
||||
|
||||
|
@ -146,7 +146,7 @@
|
|||
|
||||
console.log('Begin removeLocalItem');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -164,7 +164,7 @@
|
|||
|
||||
console.log('Begin getNewMedia');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
apiClient.getReadySyncItems(apiClient.deviceId()).then(function (jobItems) {
|
||||
|
||||
|
@ -201,7 +201,7 @@
|
|||
|
||||
console.log('Begin getNewItem');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -240,7 +240,7 @@
|
|||
function downloadMedia(apiClient, jobItem, localItem, options) {
|
||||
|
||||
console.log('Begin downloadMedia');
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -276,7 +276,7 @@
|
|||
function getImages(apiClient, jobItem, localItem) {
|
||||
|
||||
console.log('Begin getImages');
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
getNextImage(0, apiClient, localItem, deferred);
|
||||
|
||||
|
@ -348,7 +348,7 @@
|
|||
function downloadImage(apiClient, serverId, itemId, imageTag, imageType) {
|
||||
|
||||
console.log('Begin downloadImage');
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -380,7 +380,7 @@
|
|||
function getSubtitles(apiClient, jobItem, localItem) {
|
||||
|
||||
console.log('Begin getSubtitles');
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
@ -424,7 +424,7 @@
|
|||
function getItemSubtitle(file, apiClient, jobItem, localItem, mediaSource) {
|
||||
|
||||
console.log('Begin getItemSubtitle');
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
var subtitleStream = mediaSource.MediaStreams.filter(function (m) {
|
||||
return m.Type == 'Subtitle' && m.Index == file.Index;
|
||||
|
@ -461,7 +461,7 @@
|
|||
function syncUserItemAccess(syncDataResult, serverId) {
|
||||
console.log('Begin syncUserItemAccess');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
var itemIds = [];
|
||||
for (var id in syncDataResult.ItemUserAccess) {
|
||||
|
@ -494,7 +494,7 @@
|
|||
function syncUserAccessForItem(itemId, syncDataResult) {
|
||||
console.log('Begin syncUserAccessForItem');
|
||||
|
||||
var deferred = jQuery.Deferred();
|
||||
var deferred = DeferredBuilder.Deferred();
|
||||
|
||||
require(['localassetmanager'], function () {
|
||||
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.0.84",
|
||||
"_release": "1.0.84",
|
||||
"version": "1.0.86",
|
||||
"_release": "1.0.86",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.0.84",
|
||||
"commit": "8a8bc2b228f290e1e5616eba205bcd6f117167e2"
|
||||
"tag": "1.0.86",
|
||||
"commit": "e0329ec7873dc265487709c58f2457428e0c9c99"
|
||||
},
|
||||
"_source": "git://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "~1.0.0",
|
||||
|
|
|
@ -162,6 +162,15 @@ define(['browser'], function (browser) {
|
|||
Container: audioFormat == 'webma' ? 'webma,webm' : audioFormat,
|
||||
Type: 'Audio'
|
||||
});
|
||||
|
||||
// aac also appears in the m4a container
|
||||
if (audioFormat == 'aac') {
|
||||
profile.DirectPlayProfiles.push({
|
||||
Container: 'm4a',
|
||||
AudioCodec: audioFormat,
|
||||
Type: 'Audio'
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (canPlayWebm) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue