diff --git a/gulpfile.js b/gulpfile.js index d1471c9f..e0c951fa 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -437,18 +437,21 @@ function buildNWApps(platforms, flavor, dir, done) { } function getChangesetId(done) { - git.exec({args : 'log -1 --format="%h"'}, function (err, stdout) { - if (err) { - throw err; - } + git.exec({args : 'log -1 --format="%h"'}, function (err, stdout) { + var version; + if (err) { + version = 'unsupported'; + } else { + version = stdout.trim(); + } - var versionData = { gitChangesetId: stdout.trim() } - var destFile = path.join(DIST_DIR, 'version.json'); + var versionData = { gitChangesetId: version } + var destFile = path.join(DIST_DIR, 'version.json'); - fs.writeFile(destFile, JSON.stringify(versionData) , function () { - done(); + fs.writeFile(destFile, JSON.stringify(versionData) , function () { + done(); + }); }); - }); } function start_debug(done) { diff --git a/src/js/data_storage.js b/src/js/data_storage.js index 658813d5..babd4956 100755 --- a/src/js/data_storage.js +++ b/src/js/data_storage.js @@ -10,5 +10,6 @@ var CONFIGURATOR = { 'connectionValid': false, 'connectionValidCliOnly': false, 'cliActive': false, - 'cliValid': false + 'cliValid': false, + 'gitChangesetId': 'unknown' }; diff --git a/src/js/main.js b/src/js/main.js index a03d1010..32291d3d 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -6,9 +6,13 @@ var analytics = undefined; openNewWindowsInExternalBrowser(); $(document).ready(function () { - i18n.init(function() { - startProcess(); - initializeSerialBackend(); + $.getJSON('version.json', function(data) { + CONFIGURATOR.gitChangesetId = data.gitChangesetId; + + i18n.init(function() { + startProcess(); + initializeSerialBackend(); + }); }); }); @@ -16,15 +20,11 @@ function checkSetupAnalytics(callback) { if (!analytics) { setTimeout(function () { chrome.storage.local.get(['userId', 'analyticsOptOut', 'checkForConfiguratorUnstableVersions', ], function (result) { - $.getJSON('version.json', function(data) { - var gitChangesetId = data.gitChangesetId; + if (!analytics) { + setupAnalytics(result); + } - if (!analytics) { - setupAnalytics(result, gitChangesetId); - } - - callback(analytics); - }); + callback(analytics); }); }); } else if (callback) { @@ -32,7 +32,7 @@ function checkSetupAnalytics(callback) { } }; -function setupAnalytics(result, gitChangesetId) { +function setupAnalytics(result) { var userId; if (result.userId) { userId = result.userId; @@ -48,7 +48,7 @@ function setupAnalytics(result, gitChangesetId) { var debugMode = typeof process === "object" && process.versions['nw-flavor'] === 'sdk'; - analytics = new Analytics('UA-123002063-1', userId, 'Betaflight Configurator', getManifestVersion(), gitChangesetId, GUI.operating_system, checkForDebugVersions, optOut, debugMode); + analytics = new Analytics('UA-123002063-1', userId, 'Betaflight Configurator', getManifestVersion(), CONFIGURATOR.gitChangesetId, GUI.operating_system, checkForDebugVersions, optOut, debugMode); function logException(exception) { analytics.sendException(exception.stack); @@ -720,7 +720,7 @@ function updateStatusBarVersion(firmwareVersion, firmwareId, hardwareId) { versionText = versionText + ', '; } - versionText = versionText + getConfiguratorVersion(); + versionText = versionText + getConfiguratorVersion() + ' (' + CONFIGURATOR.gitChangesetId + ')'; $('#status-bar .version').text(versionText); }