From bee96ebf15ac4a708cd0e1463b1b935b5f0cda2c Mon Sep 17 00:00:00 2001 From: antelle Date: Thu, 7 Jan 2021 23:00:16 +0100 Subject: [PATCH] reading update.json --- app/scripts/comp/app/updater.js | 18 ++++++++---------- app/scripts/comp/browser/transport.js | 7 ++++++- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/scripts/comp/app/updater.js b/app/scripts/comp/app/updater.js index 127c5e82..b72d657d 100644 --- a/app/scripts/comp/app/updater.js +++ b/app/scripts/comp/app/updater.js @@ -97,13 +97,12 @@ const Updater = { } logger.info('Checking for update...'); Transport.httpGet({ - url: Links.Manifest, - utf8: true, - success: (data) => { + url: Links.UpdateJson, + json: true, + success: (updateJson) => { const dt = new Date(); - const match = data.match(/#\s*(\d+\-\d+\-\d+):v([\d+\.\w]+)/); - logger.info('Update check: ' + (match ? match[0] : 'unknown')); - if (!match) { + logger.info('Update check: ' + (updateJson.version || 'unknown')); + if (!updateJson.version) { const errMsg = 'No version info found'; UpdateModel.set({ status: 'error', @@ -114,16 +113,15 @@ const Updater = { this.scheduleNextCheck(); return; } - const updateMinVersionMatch = data.match(/#\s*updmin:v([\d+\.\w]+)/); const prevLastVersion = UpdateModel.lastVersion; UpdateModel.set({ status: 'ok', lastCheckDate: dt, lastSuccessCheckDate: dt, - lastVersionReleaseDate: new Date(match[1]), - lastVersion: match[2], + lastVersionReleaseDate: new Date(updateJson.date), + lastVersion: updateJson.version, lastCheckError: null, - lastCheckUpdMin: updateMinVersionMatch ? updateMinVersionMatch[1] : null + lastCheckUpdMin: updateJson.minVersion || null }); UpdateModel.save(); this.scheduleNextCheck(); diff --git a/app/scripts/comp/browser/transport.js b/app/scripts/comp/browser/transport.js index 5318d28c..b2c6c6f2 100644 --- a/app/scripts/comp/browser/transport.js +++ b/app/scripts/comp/browser/transport.js @@ -62,8 +62,13 @@ const Transport = { }); res.on('end', () => { data = window.Buffer.concat(data); - if (config.utf8) { + if (config.json) { data = data.toString('utf8'); + try { + data = JSON.parse(data); + } catch (e) { + config.error('Error parsing JSON: ' + e.message); + } } config.success(data); });