From 34ce00e2d5b82c5bc1018ed2b5fa64abc235fbf1 Mon Sep 17 00:00:00 2001 From: Benedict Aas Date: Wed, 16 May 2018 19:52:55 +0100 Subject: [PATCH] feat(GUI): hide unsafe mode option with env var (#2347) We hide the unsafe mode option toggle with an env var `ETCHER_HIDE_UNSAFE_MODE` that also enables unsafe mode. Closes: https://github.com/resin-io/etcher/issues/2243 Change-Type: patch Changelog-Entry: Hide unsafe mode option toggle with an env var. --- lib/gui/app/modules/drive-scanner.js | 2 +- .../app/pages/main/controllers/drive-selection.js | 2 +- lib/gui/app/pages/settings/controllers/settings.js | 14 ++++++++++++++ .../app/pages/settings/templates/settings.tpl.html | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/gui/app/modules/drive-scanner.js b/lib/gui/app/modules/drive-scanner.js index e6f7c497..c96bdd48 100644 --- a/lib/gui/app/modules/drive-scanner.js +++ b/lib/gui/app/modules/drive-scanner.js @@ -23,7 +23,7 @@ const permissions = require('../../../shared/permissions') const scanner = SDK.createScanner({ blockdevice: { get includeSystemDrives () { - return settings.get('unsafeMode') + return settings.get('unsafeMode') && !process.env.ETCHER_HIDE_UNSAFE_MODE } }, usbboot: {} diff --git a/lib/gui/app/pages/main/controllers/drive-selection.js b/lib/gui/app/pages/main/controllers/drive-selection.js index 97abced3..318f055f 100644 --- a/lib/gui/app/pages/main/controllers/drive-selection.js +++ b/lib/gui/app/pages/main/controllers/drive-selection.js @@ -109,7 +109,7 @@ module.exports = function (DriveSelectorService) { analytics.logEvent('Select drive', { device: drive.device, - unsafeMode: settings.get('unsafeMode') + unsafeMode: settings.get('unsafeMode') && !process.env.ETCHER_HIDE_UNSAFE_MODE }) }).catch(exceptionReporter.report) } diff --git a/lib/gui/app/pages/settings/controllers/settings.js b/lib/gui/app/pages/settings/controllers/settings.js index 97ada2da..be56f1b6 100644 --- a/lib/gui/app/pages/settings/controllers/settings.js +++ b/lib/gui/app/pages/settings/controllers/settings.js @@ -104,4 +104,18 @@ module.exports = function (WarningModalService) { } }).catch(exceptionReporter.report) } + + /** + * @summary Show unsafe mode based on an env var + * @function + * @public + * + * @returns {Boolean} + * + * @example + * SettingsController.shouldShowUnsafeMode() + */ + this.shouldShowUnsafeMode = () => { + return !process.env.ETCHER_HIDE_UNSAFE_MODE + } } diff --git a/lib/gui/app/pages/settings/templates/settings.tpl.html b/lib/gui/app/pages/settings/templates/settings.tpl.html index b6b095c8..66494d4c 100644 --- a/lib/gui/app/pages/settings/templates/settings.tpl.html +++ b/lib/gui/app/pages/settings/templates/settings.tpl.html @@ -54,7 +54,7 @@ -
+