From d763926eeed0e5c70dbfa03ab42fff552f5e1a78 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Fri, 12 Feb 2016 23:42:40 +0900 Subject: [PATCH 01/10] Cache electron-packager in CircleCI --- circle.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 5a5b2462..b5a8239c 100644 --- a/circle.yml +++ b/circle.yml @@ -10,9 +10,12 @@ machine: - docker dependencies: + cache_directories: + - "~/.electron" post: - docker build -t yuya-oc/em-builder docker - - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost yuya-oc/em-builder ./electron-mattermost/docker/package_in_docker.sh + - mkdir -p ~/.electron + - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuya-oc/em-builder ./electron-mattermost/docker/package_in_docker.sh - mv release/electron-mattermost-win32-ia32 release/electron-mattermost-win32 - mv release/electron-mattermost-win32-x64 release/electron-mattermost-win64 - mv release/electron-mattermost-darwin-x64 release/electron-mattermost-osx From 3b6dfcaabe39518b187f169927d1ead5dfdc0a27 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 00:35:24 +0900 Subject: [PATCH 02/10] Update Electron to 0.36.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a30e3512..324f172d 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "del": "^2.2.0", "electron-connect": "^0.3.3", "electron-packager": "^5.1.0", - "electron-prebuilt": "0.36.3", + "electron-prebuilt": "0.36.7", "esformatter": "^0.8.1", "esformatter-jsx": "^4.0.6", "gulp": "^3.9.0", From 59ec82f62f7e7572f5e02b7241492e682e1db195 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 00:40:43 +0900 Subject: [PATCH 03/10] Use Docker Hub to build docker image docker-build may fail due to fail apt-get --- circle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index b5a8239c..3c9f2506 100644 --- a/circle.yml +++ b/circle.yml @@ -13,9 +13,9 @@ dependencies: cache_directories: - "~/.electron" post: - - docker build -t yuya-oc/em-builder docker + - docker pull yuyaoc/em-builder:dev - mkdir -p ~/.electron - - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuya-oc/em-builder ./electron-mattermost/docker/package_in_docker.sh + - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuyaoc/em-builder ./electron-mattermost/docker/package_in_docker.sh - mv release/electron-mattermost-win32-ia32 release/electron-mattermost-win32 - mv release/electron-mattermost-win32-x64 release/electron-mattermost-win64 - mv release/electron-mattermost-darwin-x64 release/electron-mattermost-osx From d81f000d9b5993239ff1ff088176dd3c09337275 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 00:48:56 +0900 Subject: [PATCH 04/10] Fix image tag to pull --- circle.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/circle.yml b/circle.yml index 3c9f2506..1f999941 100644 --- a/circle.yml +++ b/circle.yml @@ -13,9 +13,8 @@ dependencies: cache_directories: - "~/.electron" post: - - docker pull yuyaoc/em-builder:dev - mkdir -p ~/.electron - - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuyaoc/em-builder ./electron-mattermost/docker/package_in_docker.sh + - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuyaoc/em-builder:dev ./electron-mattermost/docker/package_in_docker.sh - mv release/electron-mattermost-win32-ia32 release/electron-mattermost-win32 - mv release/electron-mattermost-win32-x64 release/electron-mattermost-win64 - mv release/electron-mattermost-darwin-x64 release/electron-mattermost-osx From 87efd4e48abef1043bc789034dab2f77791388fa Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 19:30:37 +0900 Subject: [PATCH 05/10] Mux webview console messages into main window --- src/browser/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/browser/index.jsx b/src/browser/index.jsx index dc3324b3..543bfd0b 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -142,7 +142,7 @@ var MainPage = React.createClass({ var handleNotificationClick = function() { thisObj.handleSelect(index); } - return () }); var views_row = ( @@ -268,12 +268,12 @@ var MattermostView = React.createClass({ case 'onNotificationClick': thisObj.props.onNotificationClick(); break; - case 'console': - console.log(event.args[0]); - break; } }); + webview.addEventListener('console-message', (e) => { + console.log(`[${this.props.name}]`, e.message); + }); }, render: function() { // 'disablewebsecurity' is necessary to display external images. From fea44a09c2e54f4112b67e93e8ebd661edfc1481 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 19:30:37 +0900 Subject: [PATCH 06/10] Switch log levels for muxed logs --- src/browser/index.jsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/browser/index.jsx b/src/browser/index.jsx index 543bfd0b..a1097c75 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -272,7 +272,21 @@ var MattermostView = React.createClass({ }); webview.addEventListener('console-message', (e) => { - console.log(`[${this.props.name}]`, e.message); + const message = `[${this.props.name}] ${e.message}`; + switch (e.level) { + case 0: + console.log(message); + break; + case 1: + console.warn(message); + break; + case 2: + console.error(message); + break; + default: + console.log(message); + break; + } }); }, render: function() { From 75bfb119e6b7f12728f4cadac455ab86c2609098 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 20:20:56 +0900 Subject: [PATCH 07/10] Add check for null/length --- src/browser/webview/mattermost.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/browser/webview/mattermost.js b/src/browser/webview/mattermost.js index 6f1c2c98..6e6f8bf5 100644 --- a/src/browser/webview/mattermost.js +++ b/src/browser/webview/mattermost.js @@ -42,13 +42,18 @@ var unreadCountTimer = setInterval(function() { // find active post-list. var postLists = document.querySelectorAll('div.post-list__content'); - var post; + if (postLists.length === 0) { + return; + } + var post = null; for (var i = 0; i < postLists.length; i++) { if (isElementVisible(postLists[i])) { post = postLists[i].children[0]; } } - + if (post === null) { + return; + } // find latest post and save. while (post = post.nextSibling) { if (post.nextSibling === null) { From d2e5c7e118f89ebde2c502882b99f4601b8a5da9 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sat, 13 Feb 2016 21:25:36 +0900 Subject: [PATCH 08/10] Cache src/node_modules in CircleCI --- circle.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/circle.yml b/circle.yml index 1f999941..08b563b8 100644 --- a/circle.yml +++ b/circle.yml @@ -12,6 +12,7 @@ machine: dependencies: cache_directories: - "~/.electron" + - "src/node_modules" post: - mkdir -p ~/.electron - docker run --rm -it -v `pwd`:/home/xclient/electron-mattermost -v ~/.electron:/home/xclient/.electron yuyaoc/em-builder:dev ./electron-mattermost/docker/package_in_docker.sh From 631415280e97c634f22932d750e120eed7b12656 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sun, 14 Feb 2016 20:03:25 +0900 Subject: [PATCH 09/10] Fix window state restoration not working --- src/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.js b/src/main.js index 8df87f72..c071f3fe 100644 --- a/src/main.js +++ b/src/main.js @@ -111,10 +111,10 @@ app.on('ready', function() { } // Create the browser window. - var bounds_info_path = app.getPath("userData") + "/bounds-info.json"; + var bounds_info_path = path.resolve(app.getPath("userData"), "bounds-info.json"); var window_options; try { - window_options = require(bounds_info_path); + window_options = JSON.parse(fs.readFileSync(bounds_info_path, 'utf-8')); } catch (e) { // follow Electron's defaults From da5dca6f5d9a03dbfc44f69f466b9c294d7f3cd5 Mon Sep 17 00:00:00 2001 From: Yuya Ochiai Date: Sun, 14 Feb 2016 23:00:19 +0900 Subject: [PATCH 10/10] Don't prettify dist directory --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index ffd8b459..4042483e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -13,7 +13,7 @@ var electron = require('electron-connect').server.create({ }); var packager = require('electron-packager'); -var sources = ['**/*.js', '**/*.css', '**/*.html', '!**/node_modules/**', '!**/build/**', '!release/**']; +var sources = ['**/*.js', '**/*.css', '**/*.html', '!**/node_modules/**', '!dist/**', '!release/**']; gulp.task('prettify', ['prettify:sources', 'prettify:jsx']);