diff --git a/renderer/index.js b/renderer/index.js index 22784989..480c553d 100644 --- a/renderer/index.js +++ b/renderer/index.js @@ -761,8 +761,8 @@ function openPlayer (infoHash, index, cb) { var timeout = setTimeout(function () { torrentSummary.playStatus = 'timeout' /* no seeders available? */ - state.location.clearPending() playInterfaceSound('ERROR') + cb(new Error('playback timed out')) update() }, 10000) /* give it a few seconds */ @@ -794,20 +794,13 @@ function openPlayerFromActiveTorrent (torrentSummary, index, timeout, cb) { ipcRenderer.once('wt-server-' + torrentSummary.infoHash, function (e, info) { clearTimeout(timeout) - /** - TODO: where do we know if it's unplayable? - if (err) { - torrentSummary.playStatus = 'unplayable' - playInterfaceSound('ERROR') - update() - return onError(err) - } - */ - // if we timed out (user clicked play a long time ago), don't autoplay var timedOut = torrentSummary.playStatus === 'timeout' delete torrentSummary.playStatus - if (timedOut) return update() + if (timedOut) { + ipcRenderer.send('wt-stop-server') + return update() + } // otherwise, play the video state.window.title = torrentSummary.files[state.playing.fileIndex].name diff --git a/renderer/lib/location-history.js b/renderer/lib/location-history.js index c7d38b32..ab3bbcab 100644 --- a/renderer/lib/location-history.js +++ b/renderer/lib/location-history.js @@ -18,9 +18,9 @@ LocationHistory.prototype._go = function (page) { if (page.onbeforeload) { this._pending = page page.onbeforeload((err) => { - if (err) return if (this._pending !== page) return /* navigation was cancelled */ this._pending = null + if (err) return this._history.push(page) }) } else {