From f368dfad818da77b430c26847047fef6feb88aec Mon Sep 17 00:00:00 2001 From: DC Date: Mon, 19 Sep 2016 22:30:46 -0700 Subject: [PATCH] Fix a sad, sad bug that resulted in 100+MB config.json --- src/renderer/lib/migrations.js | 16 ++++++++++++++++ src/renderer/webtorrent.js | 8 +++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/renderer/lib/migrations.js b/src/renderer/lib/migrations.js index d7383d8a..c09a7a5e 100644 --- a/src/renderer/lib/migrations.js +++ b/src/renderer/lib/migrations.js @@ -39,6 +39,10 @@ function run (state) { migrate_0_14_0(state.saved) } + if (semver.lt(version, '0.17.0')) { + migrate_0_17_0(state.saved) + } + // Config is now on the new version state.saved.version = config.APP_VERSION } @@ -145,3 +149,15 @@ function migrate_0_14_0 (saved) { delete ts.defaultPlayFileIndex }) } + +function migrate_0_17_0 (saved) { + // Fix a sad, sad bug that resulted in 100MB+ config.json files + saved.torrents.forEach(function (ts) { + if (!ts.files) return + ts.files.forEach(function (file) { + if (!file.audioInfo || !file.audioInfo.picture) return + // This contained a Buffer, which 30x'd in size when serialized to JSON + delete file.audioInfo.picture + }) + }) +} diff --git a/src/renderer/webtorrent.js b/src/renderer/webtorrent.js index a903aeb7..514b5829 100644 --- a/src/renderer/webtorrent.js +++ b/src/renderer/webtorrent.js @@ -348,9 +348,11 @@ function getAudioMetadata (infoHash, index) { const torrent = client.get(infoHash) const file = torrent.files[index] musicmetadata(file.createReadStream(), function (err, info) { - if (err) return - console.log('got audio metadata for %s: %o', file.name, info) - ipc.send('wt-audio-metadata', infoHash, index, info) + if (err) return console.log('error getting audio metadata for ' + infoHash + ':' + index, err) + const { artist, album, albumartist, title, year, track, disk, genre } = info + const importantInfo = { artist, album, albumartist, title, year, track, disk, genre } + console.log('got audio metadata for %s: %o', file.name, importantInfo) + ipc.send('wt-audio-metadata', infoHash, index, importantInfo) }) }