Merge pull request #36 from resin-io/jviotti/fix/31/first-time-elevation-osx

osx: Fix first time elevation failure
This commit is contained in:
Juan Cruz Viotti 2015-11-19 14:26:06 -04:00
commit b3f297911b
3 changed files with 17 additions and 7 deletions

View File

@ -29,7 +29,7 @@ var windosu = require('windosu');
var os = require('os');
var platform = os.platform();
exports.require = function(callback) {
exports.require = function(app, callback) {
'use strict';
isElevated(function(error, elevated) {
@ -44,11 +44,21 @@ exports.require = function(callback) {
if (!elevated) {
if (platform === 'darwin') {
sudoPrompt.setName('Herostratus');
sudoPrompt.exec(process.argv.join(' '));
setTimeout(function() {
// Keep parent process hidden
app.dock.hide();
sudoPrompt.exec(process.argv.join(' '), {
name: 'Herostratus'
}, function(error) {
if (error) {
console.error(error.message);
process.exit(1);
}
// Don't keep the original parent process alive
process.exit(0);
}, 500);
});
}
else if (platform === 'win32') {
var command = _.map(process.argv, function(word) {

View File

@ -35,7 +35,7 @@ app.on('ready', function() {
// No menu bar
Menu.setApplicationMenu(null);
elevate.require(function(error) {
elevate.require(app, function(error) {
if (error) {
throw error;

View File

@ -27,7 +27,7 @@
"is-elevated": "^1.0.0",
"lodash": "^3.10.1",
"resin-image-write": "^2.0.5",
"sudo-prompt": "^1.1.8",
"sudo-prompt": "^2.0.2",
"umount": "^1.1.1",
"windosu": "^0.1.3"
},