From c7bab43b7baa87315f0e320f5f634d1f74e9a462 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Thu, 1 Jun 2017 02:51:16 -0400 Subject: [PATCH 1/3] Open full path instead of directory during upgrade This was how it was before the Redux refactor --- ui/js/actions/app.js | 11 ++++------- ui/js/reducers/app.js | 2 +- ui/js/selectors/app.js | 4 ++-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ui/js/actions/app.js b/ui/js/actions/app.js index 9b928c512..a513b820c 100644 --- a/ui/js/actions/app.js +++ b/ui/js/actions/app.js @@ -2,7 +2,7 @@ import * as types from 'constants/action_types' import lbry from 'lbry' import { selectUpdateUrl, - selectUpgradeDownloadDir, + selectUpgradeDownloadPath, selectUpgradeDownloadItem, selectUpgradeFilename, selectPageTitle, @@ -110,7 +110,7 @@ export function doSkipUpgrade() { export function doStartUpgrade() { return function(dispatch, getState) { const state = getState() - const upgradeDownloadPath = selectUpgradeDownloadDir(state) + const upgradeDownloadPath = selectUpgradeDownloadPath(state) ipcRenderer.send('upgrade', upgradeDownloadPath) } @@ -135,14 +135,11 @@ export function doDownloadUpgrade() { * too soon. */ - const _upgradeDownloadItem = downloadItem; - const _upgradeDownloadPath = path.join(dir, upgradeFilename); - dispatch({ type: types.UPGRADE_DOWNLOAD_COMPLETED, data: { - dir, - downloadItem + downloadItem, + path: path.join(dir, upgradeFilename) } }) }); diff --git a/ui/js/reducers/app.js b/ui/js/reducers/app.js index af99b8a88..162a81fba 100644 --- a/ui/js/reducers/app.js +++ b/ui/js/reducers/app.js @@ -34,7 +34,7 @@ reducers[types.UPGRADE_CANCELLED] = function(state, action) { reducers[types.UPGRADE_DOWNLOAD_COMPLETED] = function(state, action) { return Object.assign({}, state, { - downloadDir: action.data.dir, + downloadPath: action.data.path, upgradeDownloading: false, upgradeDownloadCompleted: true }) diff --git a/ui/js/selectors/app.js b/ui/js/selectors/app.js index ebf2a1398..262d704ae 100644 --- a/ui/js/selectors/app.js +++ b/ui/js/selectors/app.js @@ -170,9 +170,9 @@ export const selectUpgradeSkipped = createSelector( (state) => state.upgradeSkipped ) -export const selectUpgradeDownloadDir = createSelector( +export const selectUpgradeDownloadPath = createSelector( _selectState, - (state) => state.downloadDir + (state) => state.downloadPath ) export const selectUpgradeDownloadItem = createSelector( From e9dc3324cb197975ae78faba921d255ab1996a68 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Thu, 1 Jun 2017 02:52:17 -0400 Subject: [PATCH 2/3] Fix upgrade filenames on Mac and Windows --- ui/js/selectors/app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/js/selectors/app.js b/ui/js/selectors/app.js index 262d704ae..778ac8a87 100644 --- a/ui/js/selectors/app.js +++ b/ui/js/selectors/app.js @@ -107,11 +107,11 @@ export const selectUpgradeFilename = createSelector( (platform, version) => { switch (platform) { case 'darwin': - return `LBRY-${version}.dmg`; + return `LBRY_${version}.dmg`; case 'linux': return `LBRY_${version}_amd64.deb`; case 'win32': - return `LBRY.Setup.${version}.exe`; + return `LBRY_${version}.exe`; default: throw 'Unknown platform'; } From df9391da76335a5b4987ffcdd8e95f9f94b33d3f Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Thu, 1 Jun 2017 04:21:25 -0400 Subject: [PATCH 3/3] On Windows, open installer using shell (allows elevation) When you're just running a bare process, Windows can't show the "this app wants elevated permissions" box and child_process.spawn throws an error. --- app/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/main.js b/app/main.js index 85ee04ca0..889fa0402 100644 --- a/app/main.js +++ b/app/main.js @@ -116,7 +116,7 @@ function openItem(fullPath) { } else if (process.platform == 'linux') { child = child_process.spawn('xdg-open', [fullPath], subprocOptions); } else if (process.platform == 'win32') { - child = child_process.spawn(fullPath, [], subprocOptions); + child = child_process.spawn(fullPath, Object.assign({}, subprocOptions, {shell: true})); } // Causes child process reference to be garbage collected, allowing main process to exit