diff --git a/index.js b/index.js index 3b4aec6..41a0d7d 100644 --- a/index.js +++ b/index.js @@ -87,6 +87,11 @@ io.on('connection', function(socket) return; socketMysql.query('SELECT * FROM `torrents` ORDER BY added DESC LIMIT 0,10', function (error, rows, fields) { + if(!rows) { + callback(undefined) + return; + } + let torrents = []; rows.forEach((row) => { torrents.push(baseRowData(row)); @@ -102,6 +107,11 @@ io.on('connection', function(socket) return; socketMysql.query('SELECT * FROM `statistic`', function (error, rows, fields) { + if(!rows) { + callback(undefined) + return; + } + callback(rows[0]) }); }); @@ -115,8 +125,8 @@ io.on('connection', function(socket) return; socketMysql.query('SELECT * FROM `torrents` WHERE `hash` = ?', hash, function (error, rows, fields) { - if(rows.length == 0) { - callback(undefined); + if(!rows || rows.length == 0) { + callback(undefined) return; } let torrent = rows[0]; @@ -149,6 +159,10 @@ io.on('connection', function(socket) const limit = navigation.limit || 10; let search = {}; socketMysql.query('SELECT * FROM `torrents` WHERE MATCH(`name`) AGAINST(?) LIMIT ?,?', [text, index, limit], function (error, rows, fields) { + if(!rows) { + callback(undefined) + return; + } rows.forEach((row) => { search[row.hash] = baseRowData(row); }); @@ -172,6 +186,10 @@ io.on('connection', function(socket) const limit = navigation.limit || 10; let search = {}; socketMysql.query('SELECT * FROM `files` INNER JOIN torrents ON(torrents.hash = files.hash) WHERE MATCH(`path`) AGAINST(?) LIMIT ?,?', [text, index, limit], function (error, rows, fields) { + if(!rows) { + callback(undefined) + return; + } rows.forEach((row) => { search[row.hash] = baseRowData(row); search[row.hash].path = row.path; diff --git a/src/recent-torrents.js b/src/recent-torrents.js index 3c8f04b..e29f135 100644 --- a/src/recent-torrents.js +++ b/src/recent-torrents.js @@ -149,8 +149,10 @@ export default class RecentTorrents extends Component { } componentDidMount() { window.torrentSocket.emit('recentTorrents', (data) => { - this.torrents = data; - this.forceUpdate(); + if(data) { + this.torrents = data; + this.forceUpdate(); + } }); this.newTorrentFunc = (torrent) => { this.torrents.unshift(torrent); diff --git a/src/search.js b/src/search.js index ab2f320..c448039 100644 --- a/src/search.js +++ b/src/search.js @@ -47,8 +47,10 @@ export default class Search extends Component { } componentDidMount() { this.newStatisticFunc = (statistic) => { - this.stats = statistic; - this.forceUpdate(); + if(statistic) { + this.stats = statistic; + this.forceUpdate(); + } }; window.torrentSocket.emit('statistic', this.newStatisticFunc); window.torrentSocket.on('newStatistic', this.newStatisticFunc); diff --git a/src/torrent-page.js b/src/torrent-page.js index 4cda19b..40a26f2 100644 --- a/src/torrent-page.js +++ b/src/torrent-page.js @@ -138,8 +138,10 @@ export default class TorrentPage extends Component { }; componentDidMount() { window.torrentSocket.emit('torrent', this.props.hash, {files: true}, (data) => { - this.torrent = data - this.forceUpdate(); + if(data) { + this.torrent = data + this.forceUpdate(); + } }); } render() {