diff --git a/installer/mac/postinstall.sh b/installer/mac/postinstall.sh index 9317ff3c..5c71487f 100755 --- a/installer/mac/postinstall.sh +++ b/installer/mac/postinstall.sh @@ -47,9 +47,4 @@ rm -f $tempFilePath ## For launching symphony with sandbox enabled, create a shell script that is used as the launch point for the app EXEC_PATH=$installPath/Symphony.app/Contents/MacOS exec $EXEC_PATH/Symphony --install $newPath -mv $EXEC_PATH/Symphony $EXEC_PATH/Symphony-bin -cat > $EXEC_PATH/Symphony << EOT -#!/bin/sh -exec "\${0%/*}/Symphony-bin" --enable-sandbox \$@ -EOT -chmod 755 $EXEC_PATH/Symphony \ No newline at end of file +chmod 755 $EXEC_PATH/Symphony diff --git a/installer/win/Symphony-x64.aip b/installer/win/Symphony-x64.aip index 7d71dd17..49beae9a 100644 --- a/installer/win/Symphony-x64.aip +++ b/installer/win/Symphony-x64.aip @@ -57,7 +57,6 @@ - @@ -69,16 +68,15 @@ - + - + - - + @@ -362,7 +360,7 @@ - + diff --git a/js/notify/electron-notify.js b/js/notify/electron-notify.js index bf053d41..98d793aa 100644 --- a/js/notify/electron-notify.js +++ b/js/notify/electron-notify.js @@ -48,6 +48,8 @@ let externalDisplay; // user selected display id for notification let displayId; +let sandboxed = false; + let config = { // corner to put notifications // upper-right, upper-left, lower-right, lower-left @@ -131,7 +133,7 @@ let config = { acceptFirstMouse: true, webPreferences: { preload: path.join(__dirname, 'electron-notify-preload.js'), - sandbox: !isNodeEnv, + sandbox: sandboxed, nodeIntegration: isNodeEnv } } diff --git a/js/notify/settings/configure-notification-position.js b/js/notify/settings/configure-notification-position.js index 070a156d..52c72ffe 100644 --- a/js/notify/settings/configure-notification-position.js +++ b/js/notify/settings/configure-notification-position.js @@ -17,6 +17,7 @@ let configurationWindow; let screens; let position; let display; +let sandboxed = false; let windowConfig = { width: 460, @@ -27,7 +28,7 @@ let windowConfig = { resizable: false, webPreferences: { preload: path.join(__dirname, 'configure-notification-position-preload.js'), - sandbox: true, + sandbox: sandboxed, nodeIntegration: false } }; diff --git a/js/windowMgr.js b/js/windowMgr.js index def70ddb..056e3e92 100644 --- a/js/windowMgr.js +++ b/js/windowMgr.js @@ -37,6 +37,7 @@ let boundsChangeWindow; let alwaysOnTop = false; let position = 'lower-right'; let display; +let sandboxed = false; // note: this file is built using browserify in prebuild step. const preloadMainScript = path.join(__dirname, 'preload/_preloadMain.js'); @@ -81,9 +82,10 @@ function doCreateMainWindow(initialUrl, initialBounds) { minHeight: MIN_HEIGHT, alwaysOnTop: false, webPreferences: { - sandbox: !isNodeEnv, + sandbox: sandboxed, nodeIntegration: isNodeEnv, preload: preloadMainScript, + nativeWindowOpen: true } }; @@ -212,6 +214,9 @@ function doCreateMainWindow(initialUrl, initialBounds) { // bug in electron is preventing this from working in sandboxed evt... // https://github.com/electron/electron/issues/8841 mainWindow.webContents.on('will-navigate', function(event, willNavUrl) { + if (!sandboxed) { + return; + } event.preventDefault(); openUrlInDefaultBrower(willNavUrl); }); diff --git a/package.json b/package.json index adf2a9fb..b298ffa1 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,9 @@ "demo-win": "npm run prebuild && cross-env ELECTRON_DEV=true electron . --url=file:///demo/index.html", "demo-mac": "npm run prebuild && cross-env ELECTRON_DEV=true electron . --url=file://$(pwd)/demo/index.html", "unpacked-mac": "npm run prebuild && npm run test && build --mac --dir", - "unpacked-win": "npm run prebuild && npm run test && build --win --x64 --dir && npm run rename-exe", - "unpacked-win-x86": "npm run prebuild && npm run test && build --win --ia32 --dir && npm run rename-exe", + "packed-mac": "npm run unpacked-mac && packagesbuild -v installer/mac/symphony-mac-packager.pkgproj", + "unpacked-win": "npm run prebuild && npm run test && build --win --x64 --dir", + "unpacked-win-x86": "npm run prebuild && npm run test && build --win --ia32", "prebuild": "npm run rebuild && npm run browserify-preload", "browserify-preload": "browserify -o js/preload/_preloadMain.js -x electron --insert-global-vars=__filename,__dirname js/preload/preloadMain.js", "rebuild": "electron-rebuild -f", @@ -69,7 +70,7 @@ "devDependencies": { "browserify": "^14.1.0", "cross-env": "^3.2.4", - "electron": "1.6.11", + "electron": "1.7.5", "electron-builder": "^13.9.0", "electron-builder-squirrel-windows": "^12.3.0", "electron-packager": "^8.5.2",