diff --git a/package.json b/package.json index a78162f2a1..62f61335d1 100644 --- a/package.json +++ b/package.json @@ -42,10 +42,9 @@ "docker-version": "1.5.0", "docker-machine-version": "0.1.0", "atom-shell-version": "0.21.2", - "virtualbox-version": "4.3.22", + "virtualbox-version": "4.3.24", "virtualbox-filename": "VirtualBox-4.3.22.pkg", "virtualbox-checksum": "4a7dff25bdeef0d112e16ac11bee6d52e856d36bb412aa75576036ba560082eb", - "virtualbox-required-version": "4.3.0", "dependencies": { "ansi-to-html": "0.3.0", "async": "^0.9.0", diff --git a/src/DockerMachine.js b/src/DockerMachine.js index 42955041c6..4e587d2921 100644 --- a/src/DockerMachine.js +++ b/src/DockerMachine.js @@ -153,14 +153,6 @@ var DockerMachine = { }); }); }, - waitWhileState: Promise.coroutine(function* (status) { - while (true) { - var current = yield DockerMachine.state(); - if (status !== current.trim()) { - return; - } - } - }), dockerTerminal: function () { var terminal = path.join(process.cwd(), 'resources', 'terminal'); this.info().then(machine => { diff --git a/src/Main.js b/src/Main.js index 4628744384..5dee332f9a 100644 --- a/src/Main.js +++ b/src/Main.js @@ -48,7 +48,7 @@ bugsnag.metaData = { }; bugsnag.beforeNotify = function(payload) { - var re = new RegExp(process.cwd().replace(/\s+/g, '\\s+').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\//g, '\\/'), 'g'); + var re = new RegExp(util.home().replace(/\s+/g, '\\s+'), 'g'); payload.stacktrace = payload.stacktrace.replace(/%20/g, ' ').replace(re, ''); payload.context = payload.context.replace(/%20/g, ' ').replace(re, ''); payload.file = payload.file.replace(/%20/g, ' ').replace(re, ''); @@ -81,8 +81,6 @@ setInterval(function () { router.run(Handler => React.render(, document.body)); SetupStore.setup().then(machine => { - console.log('setup complete'); - console.log(machine); docker.setup(machine.url, machine.name); Menu.setApplicationMenu(Menu.buildFromTemplate(template())); ContainerStore.on(ContainerStore.SERVER_ERROR_EVENT, (err) => { @@ -92,7 +90,8 @@ SetupStore.setup().then(machine => { if (err) { console.log(err); bugsnag.notify('ContainerStoreError', 'Could not init containerstore', { - error: err + error: err, + machine: machine }); } router.transitionTo('containers'); diff --git a/src/SetupStore.js b/src/SetupStore.js index 66a0ead3d8..f909007a08 100644 --- a/src/SetupStore.js +++ b/src/SetupStore.js @@ -74,6 +74,8 @@ var _steps = [{ yield machine.create(); } return; + } else if (exists && (yield machine.state()) === 'Saved') { + yield virtualBox.wake(machine.name()); } var isoversion = machine.isoversion(); @@ -147,6 +149,8 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), { var exists = yield machine.exists(); if (isoversion && setupUtil.compareVersions(isoversion, packagejson['docker-version']) < 0) { this.steps().init.seconds = 33; + } else if (exists && (yield machine.state()) === 'Saved') { + this.steps().init.seconds = 8; } else if (exists && (yield machine.state()) !== 'Error') { this.steps().init.seconds = 23; } diff --git a/src/VirtualBox.js b/src/VirtualBox.js index 880a06b806..43e550dc7c 100644 --- a/src/VirtualBox.js +++ b/src/VirtualBox.js @@ -35,6 +35,9 @@ var VirtualBox = { }); }, + wake: function (name) { + return util.exec([this.command(), 'startvm', name, '--type', 'headless']); + }, vmstate: function (name) { return new Promise((resolve, reject) => { util.exec([this.command(), 'showvminfo', name, '--machinereadable']).then(stdout => {