fix(search): double search on DHT
This commit is contained in:
@ -339,7 +339,24 @@ module.exports = async ({
|
|||||||
if(rows.length === 0 && isSHA1 && !isP2P) // trying to get via dht
|
if(rows.length === 0 && isSHA1 && !isP2P) // trying to get via dht
|
||||||
{
|
{
|
||||||
logT('search', 'get torrent via infohash with dht')
|
logT('search', 'get torrent via infohash with dht')
|
||||||
|
// double check torrent magnet
|
||||||
|
let secondTry = false;
|
||||||
|
const doubleCheckTimeout = setTimeout(() => {
|
||||||
|
secondTry = true;
|
||||||
|
logT('search', 'second try search by dht')
|
||||||
|
torrentClient.getMetadata(text, (torrent) => {
|
||||||
|
logT('search', 'dht search found something')
|
||||||
|
searchList.push(baseRowData(torrent));
|
||||||
|
callback(searchList);
|
||||||
|
})
|
||||||
|
}, 8000)
|
||||||
torrentClient.getMetadata(text, (torrent) => {
|
torrentClient.getMetadata(text, (torrent) => {
|
||||||
|
clearTimeout(doubleCheckTimeout);
|
||||||
|
if(secondTry) {
|
||||||
|
logT('search', 'ignore search dht resopond because of second try')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logT('search', 'dht search found something')
|
||||||
searchList.push(baseRowData(torrent));
|
searchList.push(baseRowData(torrent));
|
||||||
callback(searchList);
|
callback(searchList);
|
||||||
})
|
})
|
||||||
|
@ -44,7 +44,7 @@ describe("download", function() {
|
|||||||
let progress = parseInt(await (await app.client.$('.torrentRow .progressDownloading')).getText());
|
let progress = parseInt(await (await app.client.$('.torrentRow .progressDownloading')).getText());
|
||||||
console.log('download progress', progress, '%');
|
console.log('download progress', progress, '%');
|
||||||
// cancel in progress button must be exists
|
// cancel in progress button must be exists
|
||||||
if (progress < 90) {
|
if (progress < 50) {
|
||||||
console.log('testing buttons')
|
console.log('testing buttons')
|
||||||
assert(await (await app.client.$('.torrentRow .deleteDownloadBeforeFinish')).isExisting());
|
assert(await (await app.client.$('.torrentRow .deleteDownloadBeforeFinish')).isExisting());
|
||||||
assert(await (await app.client.$('.torrentRow .pauseTorrent')).isExisting());
|
assert(await (await app.client.$('.torrentRow .pauseTorrent')).isExisting());
|
||||||
|
Reference in New Issue
Block a user