From 139c6674f31f490968b12f25f2d0f11be71efeaa Mon Sep 17 00:00:00 2001 From: Anton Nikolaev Date: Fri, 4 Dec 2020 08:09:50 -0800 Subject: [PATCH] Update Flipper version on restart from settings Summary: Delegate to launcher on restart after settings changed. This is required to update Flipper after changing release channel. Reviewed By: passy Differential Revision: D25331466 fbshipit-source-id: d98e272971b5782d3b9c46e6ba62d883ebbb804c --- desktop/app/src/chrome/SettingsSheet.tsx | 2 +- desktop/app/src/utils/restartFlipper.tsx | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/desktop/app/src/chrome/SettingsSheet.tsx b/desktop/app/src/chrome/SettingsSheet.tsx index cb92e81ff..7e7756404 100644 --- a/desktop/app/src/chrome/SettingsSheet.tsx +++ b/desktop/app/src/chrome/SettingsSheet.tsx @@ -80,7 +80,7 @@ class SettingsSheet extends Component { this.props.updateLauncherSettings(this.state.updatedLauncherSettings); this.props.onHide(); flush().then(() => { - restartFlipper(); + restartFlipper(true); }); }; diff --git a/desktop/app/src/utils/restartFlipper.tsx b/desktop/app/src/utils/restartFlipper.tsx index 4b40a3651..241960477 100644 --- a/desktop/app/src/utils/restartFlipper.tsx +++ b/desktop/app/src/utils/restartFlipper.tsx @@ -10,9 +10,18 @@ import {remote} from 'electron'; import isProduction from './isProduction'; -export default function restart() { +export default function restart(update: boolean = false) { if (isProduction()) { - remote.app.relaunch(); + if (update) { + const options = { + args: process.argv + .splice(0, 1) + .filter((arg) => arg !== '--no-launcher' && arg !== '--no-updater'), + }; + remote.app.relaunch(options); + } else { + remote.app.relaunch(); + } remote.app.exit(); } else { // Relaunching the process with the standard way doesn't work in dev mode.