497 Commits

Author SHA1 Message Date
Juan Cruz Viotti
8187fdf4db Merge pull request #220 from resin-io/feat/win32-sign
Setup code-signing in Windows
2016-03-28 13:21:05 -04:00
Juan Cruz Viotti
05a5790400 Setup code-signing in Windows
Fixes: https://github.com/resin-io/etcher/issues/173
2016-03-28 13:06:13 -04:00
Juan Cruz Viotti
04f6217258 Merge pull request #219 from resin-io/misc/package-metadata
Add missing package metadata
2016-03-25 10:18:47 -04:00
Juan Cruz Viotti
5cf570fca8 Merge pull request #218 from resin-io/misc/rm-deploy-osx
Remove .travis.yml deploy section
2016-03-25 10:12:39 -04:00
Juan Cruz Viotti
5098a06c98 Merge pull request #217 from resin-io/fix/uncaught-exception-sudo-prompt
Return to avoid any further code execution after an elevation error
2016-03-25 10:12:20 -04:00
Juan Cruz Viotti
cb8da11b89 Add missing package metadata
- Legal copyright.
- Company name.
- File description.
- Original filename.
- Product name.
- Internal name.
2016-03-25 10:10:07 -04:00
Juan Cruz Viotti
eaa3782f06 Remove .travis.yml deploy section
Deploy will be done locally for now given security concerns with CI
servers and certificates.
2016-03-25 09:52:22 -04:00
Juan Cruz Viotti
f530dfcc3c Return to avoid any further code execution after an elevation error
Turns out that even by using `process.exit(1)`, the electron main
process doesn't exit instantly, but continues executing code.

This causes electron to throw on `electron.globalShortcut` because this
functionality is not available given that we didn't create a renderer
view.

Fixes: https://github.com/resin-io/etcher/issues/215
2016-03-25 09:41:30 -04:00
Juan Cruz Viotti
34147fb4cb Merge pull request #216 from resin-io/upgrade/drivelist
Upgrade drivelist to v2.0.9
2016-03-24 14:08:42 -04:00
Juan Cruz Viotti
53a026eee0 Upgrade drivelist to v2.0.9
This new version contains various fixes to better detect removable
drives.
2016-03-24 13:36:47 -04:00
Juan Cruz Viotti
84b5117a93 Merge pull request #214 from resin-io/fix/error-dialog-analytics
Throw error after displaying it with dialog
2016-03-21 10:42:08 -04:00
Juan Cruz Viotti
75bdc0e6d8 Merge pull request #213 from resin-io/misc/trackjs-user-id
Configure TrackJS with userId
2016-03-21 10:41:54 -04:00
Juan Cruz Viotti
3166dbe4a6 Throw error after displaying it with dialog
Currently, we "swallow" errors by only showing them with the "dialog"
module, causing them to not be logged to TrackJS.
2016-03-21 09:23:53 -04:00
Juan Cruz Viotti
ad082fc268 Configure TrackJS with userId
Otherwise, all we get in TrackJS are "anonymous" users, without a way to
link them to Mixpanel users.
2016-03-21 09:19:20 -04:00
Juan Cruz Viotti
dfcedffedd Merge pull request #211 from resin-io/fix/length-of-undefined
Fix Cannot read property 'length' of undefined
2016-03-17 10:09:15 -04:00
Juan Cruz Viotti
fda6f8a6a5 Fix Cannot read property 'length' of undefined
This error was reported by TrackJS various times:

```
TypeError: Cannot read property 'length' of undefined
  at EventEmitter.<anonymous> (file:///Users/jviotti/Projects/resin/etcher/lib/browser/app.js:104:15)
  at emitOne (events.js:77:13)
  at EventEmitter.emit (events.js:169:7)
  at /Users/jviotti/Projects/resin/etcher/lib/browser/modules/drive-scanner.js:131:17
  at processQueue (/Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:15616:28)
  at /Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:15632:27
  at Scope.$eval (/Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:16884:28)
  at Scope.$digest (/Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:16700:31)
  at /Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:16923:26
  at completeOutstandingRequest (/Users/jviotti/Projects/resin/etcher/node_modules/angular/angular.js:5825:10),
```

The error refers to the following line in `app.js`:

```js
if (drives.length === 1 && self.selection.hasImage()) {
```

Which indicates that the array of detected drives returned to the main
controller is `undefined` for some reason.

The problem resides in the `.scan()` method of `DriveScannerService`:

```js
this.scan = function() {
  return $q.when(drives.listRemovable()).catch(dialog.showError);
};
```

When an error is thrown when scanning the drives, the `.catch()` block
is called. This means that the error is not propagated to the outer code
and the promise resolves with `undefined`.

The solution is to move `.catch()` to the place `.scan()` is called,
instead of making use of it in the low-level parts of the process.
2016-03-17 09:36:43 -04:00
Juan Cruz Viotti
4fba9d532c Merge pull request #209 from resin-io/misc/osx-travis
Enable OS X in Travis CI
2016-03-16 13:34:00 -04:00
Juan Cruz Viotti
05e8cb06fc Enable OS X in Travis CI 2016-03-16 13:06:22 -04:00
Juan Cruz Viotti
78bb151387 Merge pull request #208 from resin-io/feat/window-drag
Allow window to be dragged from anywhere
2016-03-13 15:52:55 -04:00
Juan Cruz Viotti
a40ad6fd54 Allow window to be dragged from anywhere
Fixes: https://github.com/resin-io/etcher/issues/191
2016-03-13 15:10:16 -04:00
Juan Cruz Viotti
3ef3567d89 Merge pull request #206 from resin-io/misc/makefile-npm-force
Wipe-out node_modules/ and force-install npm dependencies
2016-03-11 13:22:52 -04:00
Juan Cruz Viotti
8a9abc2c97 Wipe-out node_modules/ and force-install npm dependencies 2016-03-11 08:30:28 -04:00
Juan Cruz Viotti
e0861b25da Merge pull request #204 from resin-io/fix/finish-settings
Fix broken state when going to settings in the success screen
2016-03-10 17:43:05 -04:00
Juan Cruz Viotti
162f48ab3a Merge pull request #205 from resin-io/doc/readme-headline
Change README headline to match landing page
2016-03-10 17:42:56 -04:00
Juan Cruz Viotti
27b7f5eed5 Change README headline to match landing page 2016-03-10 17:18:06 -04:00
Juan Cruz Viotti
dcdc7a18e2 Fix broken state when going to settings in the success screen 2016-03-10 17:15:57 -04:00
Juan Cruz Viotti
61b88c95e0 Merge pull request #203 from resin-io/refactor/controllers
Split controllers into separate files
2016-03-10 17:15:33 -04:00
Juan Cruz Viotti
cb43ec19dd Move NavigationController to a separate file 2016-03-10 15:44:33 -04:00
Juan Cruz Viotti
04120931e0 Merge pull request #200 from resin-io/doc/getting-help
Add "Getting Help" guide
2016-03-10 15:40:44 -04:00
Juan Cruz Viotti
caea581589 Move SettingsController to settings module 2016-03-10 14:57:55 -04:00
Juan Cruz Viotti
673e82e530 Reuse SettingsController in success screen 2016-03-10 14:56:07 -04:00
Juan Cruz Viotti
3149f5af6d Move FinishController to a separate file 2016-03-10 14:52:08 -04:00
Juan Cruz Viotti
1ccf003487 Add "Getting Help" guide 2016-03-10 14:38:58 -04:00
Juan Cruz Viotti
082b3caf36 Merge pull request #201 from resin-io/misc/package-naming-convention
Adhere to a more formal package naming convention
v1.0.0-beta.0
2016-03-10 14:20:20 -04:00
Juan Cruz Viotti
c822cd07fe Add upload-all rule 2016-03-10 13:33:22 -04:00
Juan Cruz Viotti
c2dd89eadb Adhere to a more formal package naming convention
<name>-<os>-<arch>.<extension>
2016-03-10 13:32:17 -04:00
Juan Cruz Viotti
ee2fd2a91c Merge pull request #199 from resin-io/misc/analytics-restart
Move "Restart" event log to FinishController
2016-03-10 12:49:42 -04:00
Juan Cruz Viotti
9c9ba3fdec Merge pull request #198 from resin-io/misc/readme
Update README
2016-03-10 12:49:30 -04:00
Juan Cruz Viotti
e429a87d5a Move "Restart" event log to FinishController 2016-03-10 12:36:34 -04:00
Juan Cruz Viotti
6d7332d5b6 Merge pull request #197 from resin-io/misc/version
Bump version to v1.0.0-beta.0
2016-03-10 12:33:15 -04:00
Juan Cruz Viotti
ad27dfa233 Update README
- Refer to landing page.
- Remove "no installers yet" warning.
2016-03-10 12:32:14 -04:00
Juan Cruz Viotti
9e76193c37 Bump version to v1.0.0-beta.0
This is the correct way of adding a pre-release identifier according to
https://github.com/npm/node-semver.
2016-03-10 12:24:29 -04:00
Juan Cruz Viotti
276e4efc04 Merge pull request #196 from resin-io/fix/state-progress-closure
Move burn state to ImageWriterService
2016-03-10 12:11:47 -04:00
Juan Cruz Viotti
9c5748b54e Reset burn state in FinishController 2016-03-10 12:05:28 -04:00
Juan Cruz Viotti
793001e133 Move burn state to ImageWriterService
Previously, the burn state lived in the controller, however if the user
moved to another page (the settings page for example) and then returned,
the progress state would be lost, leading to a broken progress bar.

Fixes: https://github.com/resin-io/etcher/issues/190
2016-03-10 12:01:22 -04:00
Juan Cruz Viotti
6367dd8a57 Implement NotifierService
This service provides an easy-to-use and safe (regarding to memory
leaks) way to emit data from services to controllers.

This component will be used in `ImageWriterService` to emit the progress
state instead of accepting an `onProgress` callback.
2016-03-10 12:01:22 -04:00
Juan Cruz Viotti
568b15af41 Merge pull request #195 from resin-io/upgrade/drivelist
Upgrade drivelist to v2.0.8
2016-03-10 10:09:38 -04:00
Juan Cruz Viotti
3d7b9d3a31 Upgrade drivelist to v2.0.8
This version omits DMG mounted images by default.

Fixes: https://github.com/resin-io/etcher/issues/193
2016-03-10 09:59:47 -04:00
Juan Cruz Viotti
a44230dcee Merge pull request #194 from resin-io/fix/192/drive-selected-size
Show size when there is a selected drive
2016-03-10 09:40:58 -04:00
Juan Cruz Viotti
96e9fd23b7 Show size when there is a selected drive
It lets you be sure that the auto-selected drive is the one you intended
to write to.

Fixes: https://github.com/resin-io/etcher/issues/192
2016-03-10 09:04:27 -04:00