diff --git a/dist/requirements.txt b/dist/requirements.txt index 76861c053..5d8d2b558 100644 --- a/dist/requirements.txt +++ b/dist/requirements.txt @@ -1 +1 @@ -lbrynet>=0.5.0 +lbrynet>=0.8.4 diff --git a/js/lbry.js b/js/lbry.js index 2800bac44..088bccf9a 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -245,8 +245,8 @@ lbry.getCostInfoForName = function(name, callback, errorCallback) { }); } -lbry.getFileStatus = function(name, callback) { - lbry.call('get_lbry_file', { 'name': name }, callback); +lbry.getFileStatus = function(name, callback, errorCallback) { + lbry.call('get_lbry_file', { 'name': name }, callback, errorCallback); } lbry.getFilesInfo = function(callback) { @@ -296,22 +296,23 @@ lbry.revealFile = function(sdHash, callback) { } lbry.getFileInfoWhenListed = function(name, callback, timeoutCallback, tryNum=0) { - // Calls callback with file info when it appears in the list of files returned by lbry.getFilesInfo(). - // If timeoutCallback is provided, it will be called if the file fails to appear. - lbry.getFilesInfo(function(fileInfos) { - for (var fileInfo of fileInfos) { - if (fileInfo.lbry_uri == name) { - callback(fileInfo); - return; - } - } - + function scheduleNextCheckOrTimeout() { if (timeoutCallback && tryNum > 200) { timeoutCallback(); } else { - setTimeout(function() { lbry.getFileInfoWhenListed(name, callback, timeoutCallback, tryNum + 1) }, 250); + setTimeout(() => lbry.getFileInfoWhenListed(name, callback, timeoutCallback, tryNum + 1), 250); } - }); + } + + // Calls callback with file info when it appears in the lbrynet file manager. + // If timeoutCallback is provided, it will be called if the file fails to appear. + lbry.getFileStatus(name, (fileInfo) => { + if (fileInfo) { + callback(fileInfo); + } else { + scheduleNextCheckOrTimeout(); + } + }, () => scheduleNextCheckOrTimeout()); } lbry.publish = function(params, fileListedCallback, publishedCallback, errorCallback) {