From 0b64dcf4ec4deb717ec92d867e8cf5b0293c8da0 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 17:52:19 -0700 Subject: [PATCH 01/10] Windows: Fix protocol registration --- main/handlers.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/handlers.js b/main/handlers.js index d585fce2..1228911f 100644 --- a/main/handlers.js +++ b/main/handlers.js @@ -59,13 +59,13 @@ function initWin32 () { */ function registerProtocolHandlerWin32 (protocol, name, icon, command) { - setProtocol() - var protocolKey = new Registry({ hive: Registry.HKCU, // HKEY_CURRENT_USER key: '\\Software\\Classes\\' + protocol }) + setProtocol() + function setProtocol (err) { if (err) log.error(err.message) protocolKey.set('', Registry.REG_SZ, name, setURLProtocol) From 27bf803539cf47695c789666584195fa5225383a Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 17:54:50 -0700 Subject: [PATCH 02/10] Windows: name Setup.exe with version number --- bin/package.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/package.js b/bin/package.js index 52cb0db7..6ee2d069 100755 --- a/bin/package.js +++ b/bin/package.js @@ -262,21 +262,21 @@ function buildWin32 (cb) { console.log('Creating Windows installer...') installer.createWindowsInstaller({ - name: config.APP_NAME, - productName: config.APP_NAME, - title: config.APP_NAME, - exe: config.APP_NAME + '.exe', - appDirectory: buildPath[0], - outputDirectory: path.join(config.ROOT_PATH, 'dist'), - version: pkg.version, - description: config.APP_NAME, authors: config.APP_TEAM, - iconUrl: config.APP_ICON + '.ico', - setupIcon: config.APP_ICON + '.ico', // certificateFile: '', // TODO + description: config.APP_NAME, + exe: config.APP_NAME + '.exe', + iconUrl: config.APP_ICON + '.ico', + loadingGif: path.join(config.STATIC_PATH, 'loading.gif'), + name: config.APP_NAME, + outputDirectory: path.join(config.ROOT_PATH, 'dist'), + productName: config.APP_NAME, + setupExe: BUILD_NAME + '.exe', + setupIcon: config.APP_ICON + '.ico', + title: config.APP_NAME, usePackageJson: false, - loadingGif: path.join(config.STATIC_PATH, 'loading.gif') + version: pkg.version }).then(function () { console.log('Created Windows installer.') cb(null, buildPath) From b7858a03b5f2a5ac3c0dfb431a51af760551b521 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 17:54:58 -0700 Subject: [PATCH 03/10] Windows: don't generate .msi --- bin/package.js | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/package.js b/bin/package.js index 6ee2d069..518928ee 100755 --- a/bin/package.js +++ b/bin/package.js @@ -270,6 +270,7 @@ function buildWin32 (cb) { iconUrl: config.APP_ICON + '.ico', loadingGif: path.join(config.STATIC_PATH, 'loading.gif'), name: config.APP_NAME, + noMsi: true, outputDirectory: path.join(config.ROOT_PATH, 'dist'), productName: config.APP_NAME, setupExe: BUILD_NAME + '.exe', From c20a809014f6acb53942abf9d39165a49adbfd90 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 17:55:08 -0700 Subject: [PATCH 04/10] Windows: use remote releases URL for updates --- bin/package.js | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/package.js b/bin/package.js index 518928ee..8b41aeaa 100755 --- a/bin/package.js +++ b/bin/package.js @@ -269,6 +269,7 @@ function buildWin32 (cb) { exe: config.APP_NAME + '.exe', iconUrl: config.APP_ICON + '.ico', loadingGif: path.join(config.STATIC_PATH, 'loading.gif'), + remoteReleases: config.AUTO_UPDATE_URL, name: config.APP_NAME, noMsi: true, outputDirectory: path.join(config.ROOT_PATH, 'dist'), From 3d8429fb12764cdd7999690caab3f97111f8aae3 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 18:22:58 -0700 Subject: [PATCH 05/10] New update URL: /desktop/update --- config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.js b/config.js index 56d61ac1..5d9d2e3c 100644 --- a/config.js +++ b/config.js @@ -14,7 +14,7 @@ module.exports = { APP_VERSION: APP_VERSION, APP_WINDOW_TITLE: APP_NAME + ' (BETA)', - AUTO_UPDATE_URL: 'https://webtorrent.io/app/update?version=' + APP_VERSION, + AUTO_UPDATE_URL: 'https://webtorrent.io/desktop/update?version=' + APP_VERSION, AUTO_UPDATE_CHECK_STARTUP_DELAY: 5 * 1000 /* 5 seconds */, CONFIG_PATH: applicationConfigPath(APP_NAME), From 82c9e8f8ab128e04201042a970bf12cd84e8f5a7 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 18:23:27 -0700 Subject: [PATCH 06/10] Windows packager: use Github URL for remoteRelease --- bin/package.js | 2 +- config.js | 2 ++ main/menu.js | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/package.js b/bin/package.js index 8b41aeaa..81da1ed1 100755 --- a/bin/package.js +++ b/bin/package.js @@ -269,7 +269,7 @@ function buildWin32 (cb) { exe: config.APP_NAME + '.exe', iconUrl: config.APP_ICON + '.ico', loadingGif: path.join(config.STATIC_PATH, 'loading.gif'), - remoteReleases: config.AUTO_UPDATE_URL, + remoteReleases: config.GITHUB_URL, name: config.APP_NAME, noMsi: true, outputDirectory: path.join(config.ROOT_PATH, 'dist'), diff --git a/config.js b/config.js index 5d9d2e3c..39261833 100644 --- a/config.js +++ b/config.js @@ -21,6 +21,8 @@ module.exports = { CONFIG_POSTER_PATH: path.join(applicationConfigPath(APP_NAME), 'Posters'), CONFIG_TORRENT_PATH: path.join(applicationConfigPath(APP_NAME), 'Torrents'), + GITHUB_URL: 'https://github.com/feross/webtorrent-desktop', + IS_PRODUCTION: isProduction(), ROOT_PATH: __dirname, diff --git a/main/menu.js b/main/menu.js index ba71f922..546144ba 100644 --- a/main/menu.js +++ b/main/menu.js @@ -288,14 +288,14 @@ function getAppMenuTemplate () { }, { label: 'Contribute on GitHub', - click: () => electron.shell.openExternal('https://github.com/feross/webtorrent-desktop') + click: () => electron.shell.openExternal(config.GITHUB_URL) }, { type: 'separator' }, { label: 'Report an Issue...', - click: () => electron.shell.openExternal('https://github.com/feross/webtorrent-desktop/issues') + click: () => electron.shell.openExternal(config.GITHUB_URL + '/issues') } ] } From 663e60779796509270e6af4fccee409cd1efe12c Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 18:42:46 -0700 Subject: [PATCH 07/10] =?UTF-8?q?Windows:=20Add=20valid=20iconUrl=20?= =?UTF-8?q?=E2=80=93=C2=A0for=20building=20on=20non-Windows=20platforms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/package.js | 2 +- config.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/package.js b/bin/package.js index 81da1ed1..3e80ae71 100755 --- a/bin/package.js +++ b/bin/package.js @@ -267,7 +267,7 @@ function buildWin32 (cb) { // certificateFile: '', // TODO description: config.APP_NAME, exe: config.APP_NAME + '.exe', - iconUrl: config.APP_ICON + '.ico', + iconUrl: config.GITHUB_URL_RAW + '/static/' + config.APP_ICON + '.ico', loadingGif: path.join(config.STATIC_PATH, 'loading.gif'), remoteReleases: config.GITHUB_URL, name: config.APP_NAME, diff --git a/config.js b/config.js index 39261833..158ccb3f 100644 --- a/config.js +++ b/config.js @@ -22,6 +22,7 @@ module.exports = { CONFIG_TORRENT_PATH: path.join(applicationConfigPath(APP_NAME), 'Torrents'), GITHUB_URL: 'https://github.com/feross/webtorrent-desktop', + GITHUB_URL_RAW: 'https://raw.githubusercontent.com/feross/webtorrent-desktop/master', IS_PRODUCTION: isProduction(), From 38022bb3df1f7289ae502387dbb2b6d4eb781597 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 19:23:10 -0700 Subject: [PATCH 08/10] Windows: use feross fork for `setupExe` option --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f38662ae..87d4ab7b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "devDependencies": { "electron-osx-sign": "^0.3.0", "electron-packager": "^6.0.0", - "electron-winstaller": "^2.0.5", + "electron-winstaller": "feross/windows-installer#build", "gh-release": "^2.0.3", "nobin-debian-installer": "^0.0.6", "plist": "^1.2.0", From 361e811e9370fd878751992b184db21f22f14ade Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 19:36:06 -0700 Subject: [PATCH 09/10] Windows: Final .exe name: WebTorrentSetup-vX.X.X.exe --- bin/package.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/package.js b/bin/package.js index 3e80ae71..fefc6b11 100755 --- a/bin/package.js +++ b/bin/package.js @@ -115,7 +115,7 @@ var win32 = { // Original name of the file, not including a path. This information enables an // application to determine whether a file has been renamed by a user. The format of // the name depends on the file system for which the file was created. - OriginalFilename: 'WebTorrent.exe', + OriginalFilename: config.APP_NAME + '.exe', // Name of the product with which the file is distributed. ProductName: config.APP_NAME, @@ -274,7 +274,7 @@ function buildWin32 (cb) { noMsi: true, outputDirectory: path.join(config.ROOT_PATH, 'dist'), productName: config.APP_NAME, - setupExe: BUILD_NAME + '.exe', + setupExe: config.APP_NAME + 'Setup-v' + config.APP_VERSION + '.exe', setupIcon: config.APP_ICON + '.ico', title: config.APP_NAME, usePackageJson: false, From 60daeb922538f903c8db439159d2fef30d26c906 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Mon, 4 Apr 2016 19:36:21 -0700 Subject: [PATCH 10/10] fixpack --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 87d4ab7b..59fc9c93 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,9 @@ "email": "feross@feross.org", "url": "http://feross.org" }, + "bin": { + "webtorrent-desktop": "./bin/cmd.js" + }, "bugs": { "url": "https://github.com/feross/webtorrent-desktop/issues" }, @@ -42,9 +45,6 @@ "rimraf": "^2.5.2", "standard": "^6.0.5" }, - "optionalDependencies": { - "appdmg": "^0.3.6" - }, "homepage": "https://webtorrent.io", "keywords": [ "desktop", @@ -54,6 +54,9 @@ ], "license": "MIT", "main": "index.js", + "optionalDependencies": { + "appdmg": "^0.3.6" + }, "productName": "WebTorrent", "repository": { "type": "git", @@ -66,8 +69,5 @@ "start": "electron .", "test": "standard", "update-authors": "./bin/update-authors.sh" - }, - "bin": { - "webtorrent-desktop": "./bin/cmd.js" } }