From c5cd204a932278e36a419728f5d33a978b06eaa4 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Wed, 4 Mar 2015 21:45:54 -0500 Subject: [PATCH 1/3] Fix error would sleeping machine vms would break kitematic --- package.json | 3 +-- src/DockerMachine.js | 8 -------- src/Main.js | 9 +++++---- src/SetupStore.js | 4 ++++ src/VirtualBox.js | 6 ++++++ 5 files changed, 16 insertions(+), 14 deletions(-) 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..14a5b4df94 100644 --- a/src/Main.js +++ b/src/Main.js @@ -48,12 +48,14 @@ 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, ''); payload.url = ''; + console.log(payload); }; +bugsnag.notify('test'); document.onkeydown = function (e) { e = e || window.event; @@ -81,8 +83,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 +92,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..0e1db37fbe 100644 --- a/src/VirtualBox.js +++ b/src/VirtualBox.js @@ -35,6 +35,12 @@ var VirtualBox = { }); }, + wake: function (name) { + return util.exec([this.command(), 'startvm', name, '--type', 'headless']); + }, + poweroff: function (name) { + return util.exec([this.command(), 'controlvm', name, 'poweroff']); + }, vmstate: function (name) { return new Promise((resolve, reject) => { util.exec([this.command(), 'showvminfo', name, '--machinereadable']).then(stdout => { From 4a4c0628a9c92d40d1879dcce03ed814fff29679 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Wed, 4 Mar 2015 22:03:06 -0500 Subject: [PATCH 2/3] Fix some logging --- src/Main.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Main.js b/src/Main.js index 14a5b4df94..5dee332f9a 100644 --- a/src/Main.js +++ b/src/Main.js @@ -53,9 +53,7 @@ bugsnag.beforeNotify = function(payload) { payload.context = payload.context.replace(/%20/g, ' ').replace(re, ''); payload.file = payload.file.replace(/%20/g, ' ').replace(re, ''); payload.url = ''; - console.log(payload); }; -bugsnag.notify('test'); document.onkeydown = function (e) { e = e || window.event; From 7817f9bf3f9dd920972889275ef221407cce8f5c Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Wed, 4 Mar 2015 22:04:22 -0500 Subject: [PATCH 3/3] Remove unused function --- src/VirtualBox.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/VirtualBox.js b/src/VirtualBox.js index 0e1db37fbe..43e550dc7c 100644 --- a/src/VirtualBox.js +++ b/src/VirtualBox.js @@ -38,9 +38,6 @@ var VirtualBox = { wake: function (name) { return util.exec([this.command(), 'startvm', name, '--type', 'headless']); }, - poweroff: function (name) { - return util.exec([this.command(), 'controlvm', name, 'poweroff']); - }, vmstate: function (name) { return new Promise((resolve, reject) => { util.exec([this.command(), 'showvminfo', name, '--machinereadable']).then(stdout => {