{"action":"created","issue":{"url":"https://api.github.com/repos/mattermost/desktop/issues/277","repository_url":"https://api.github.com/repos/mattermost/desktop","labels_url":"https://api.github.com/repos/mattermost/desktop/issues/277/labels{/name}","comments_url":"https://api.github.com/repos/mattermost/desktop/issues/277/comments","events_url":"https://api.github.com/repos/mattermost/desktop/issues/277/events","html_url":"https://github.com/mattermost/desktop/pull/277","id":176242982,"number":277,"title":"Add spellchecker","user":{"login":"yuya-oc","id":1412057,"avatar_url":"https://avatars.githubusercontent.com/u/1412057?v=3","gravatar_id":"","url":"https://api.github.com/users/yuya-oc","html_url":"https://github.com/yuya-oc","followers_url":"https://api.github.com/users/yuya-oc/followers","following_url":"https://api.github.com/users/yuya-oc/following{/other_user}","gists_url":"https://api.github.com/users/yuya-oc/gists{/gist_id}","starred_url":"https://api.github.com/users/yuya-oc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuya-oc/subscriptions","organizations_url":"https://api.github.com/users/yuya-oc/orgs","repos_url":"https://api.github.com/users/yuya-oc/repos","events_url":"https://api.github.com/users/yuya-oc/events{/privacy}","received_events_url":"https://api.github.com/users/yuya-oc/received_events","type":"User","site_admin":false},"labels":[{"id":357466498,"url":"https://api.github.com/repos/mattermost/desktop/labels/all%20platforms","name":"all platforms","color":"006b75","default":false},{"id":446241535,"url":"https://api.github.com/repos/mattermost/desktop/labels/feature","name":"feature","color":"84b6eb","default":false},{"id":412495914,"url":"https://api.github.com/repos/mattermost/desktop/labels/macOS%20(looking%20for%20testers)","name":"macOS (looking for testers)","color":"efefef","default":false},{"id":412495992,"url":"https://api.github.com/repos/mattermost/desktop/labels/windows%20(looking%20for%20testers)","name":"windows (looking for testers)","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/mattermost/desktop/milestones/4","html_url":"https://github.com/mattermost/desktop/milestones/v3.5.0","labels_url":"https://api.github.com/repos/mattermost/desktop/milestones/4/labels","id":2022454,"number":4,"title":"v3.5.0","description":"","creator":{"login":"yuya-oc","id":1412057,"avatar_url":"https://avatars.githubusercontent.com/u/1412057?v=3","gravatar_id":"","url":"https://api.github.com/users/yuya-oc","html_url":"https://github.com/yuya-oc","followers_url":"https://api.github.com/users/yuya-oc/followers","following_url":"https://api.github.com/users/yuya-oc/following{/other_user}","gists_url":"https://api.github.com/users/yuya-oc/gists{/gist_id}","starred_url":"https://api.github.com/users/yuya-oc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuya-oc/subscriptions","organizations_url":"https://api.github.com/users/yuya-oc/orgs","repos_url":"https://api.github.com/users/yuya-oc/repos","events_url":"https://api.github.com/users/yuya-oc/events{/privacy}","received_events_url":"https://api.github.com/users/yuya-oc/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":26,"state":"open","created_at":"2016-09-22T16:19:32Z","updated_at":"2016-11-08T13:26:20Z","due_on":null,"closed_at":null},"comments":14,"created_at":"2016-09-11T13:07:16Z","updated_at":"2016-11-08T21:41:54Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mattermost/desktop/pulls/277","html_url":"https://github.com/mattermost/desktop/pull/277","diff_url":"https://github.com/mattermost/desktop/pull/277.diff","patch_url":"https://github.com/mattermost/desktop/pull/277.patch"},"body":"For #225, I tried using [`simple-spellchecker`](https://github.com/jfmdev/simple-spellchecker) suggested in the issue. As the result, it doesn't work in my side.\n### Discovered problems\n- As far as reading `npm run build`, somehow `webpack` try to parse markdown file. I feel it's strange.\n- In `npm start`, the app could not find `stream`. `stream` is a standard API in Node.js, so I'm not sure why it's not found.\n#### npm run build\n\n```\n> mattermost-desktop@1.4.0 build /Users/airwalker/git/mattermost-desktop\n> gulp build\n\n[20:24:28] Using gulpfile ~/git/mattermost-desktop/gulpfile.js\n[20:24:28] Starting 'sync-meta'...\n[20:24:28] Finished 'sync-meta' after 1.33 ms\n[20:24:28] Starting 'webpack:main'...\n[20:24:28] Starting 'webpack:browser'...\n[20:24:28] Starting 'webpack:webview'...\n[20:24:28] Starting 'copy:resources'...\n[20:24:28] Starting 'copy:html/css'...\n[20:24:28] Starting 'copy:modules'...\n[20:24:29] Version: webpack 1.13.2\n        Asset     Size  Chunks             Chunk Names\nmattermost.js  9.89 kB       0  [emitted]  mattermost\n[20:24:29] Finished 'webpack:webview' after 933 ms\n[20:24:29] Finished 'copy:html/css' after 1.12 s\n[20:24:32] Version: webpack 1.13.2\n      Asset     Size  Chunks             Chunk Names\n   index.js  1.32 MB       0  [emitted]  index\nsettings.js  1.38 MB       1  [emitted]  settings\n\nWARNING in ./src/~/es6-promise/dist/es6-promise.js\nModule not found: Error: Cannot resolve module 'vertx' in /Users/airwalker/git/mattermost-desktop/src/node_modules/es6-promise/dist\n @ ./src/~/es6-promise/dist/es6-promise.js 131:20-30\n[20:24:32] Finished 'webpack:browser' after 3.38 s\n[20:24:32] Version: webpack 1.13.2\n  Asset     Size  Chunks             Chunk Names\nmain.js  1.24 MB       0  [emitted]  main\n\nWARNING in ./src/~/yargs/lib/parser.js\nCritical dependencies:\n359:21-48 the request of a dependency is an expression\n @ ./src/~/yargs/lib/parser.js 359:21-48\n\nWARNING in ./src/~/es6-promise/dist/es6-promise.js\nModule not found: Error: Cannot resolve module 'vertx' in /Users/airwalker/git/mattermost-desktop/src/node_modules/es6-promise/dist\n @ ./src/~/es6-promise/dist/es6-promise.js 131:20-30\n\nWARNING in ./src/~/ws/lib/BufferUtil.js\nModule not found: Error: Cannot resolve module 'bufferutil' in /Users/airwalker/git/mattermost-desktop/src/node_modules/ws/lib\n @ ./src/~/ws/lib/BufferUtil.js 10:19-40\n\nWARNING in ./src/~/ws/lib/Validation.js\nModule not found: Error: Cannot resolve module 'utf-8-validate' in /Users/airwalker/git/mattermost-desktop/src/node_modules/ws/lib\n @ ./src/~/ws/lib/Validation.js 10:19-44\n\nWARNING in ./src/~/spawn-sync/lib/spawn-sync.js\nModule not found: Error: Cannot resolve module 'try-thread-sleep' in /Users/airwalker/git/mattermost-desktop/src/node_modules/spawn-sync/lib\n @ ./src/~/spawn-sync/lib/spawn-sync.js 10:10-37\n\nWARNING in ./src/~/natives/index.js\nCritical dependencies:\n44:17-28 the request of a dependency is an expression\n @ ./src/~/natives/index.js 44:17-28\n\nWARNING in ./src/~/natives/README.md\nModule parse failed: /Users/airwalker/git/mattermost-desktop/src/node_modules/natives/README.md Unexpected character '#' (1:0)\nYou may need an appropriate loader to handle this file type.\nSyntaxError: Unexpected character '#' (1:0)\n    at Parser.pp$4.raise (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:2221:15)\n    at Parser.pp$7.getTokenFromCode (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:2756:10)\n    at Parser.pp$7.readToken (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:2477:17)\n    at Parser.pp$7.nextToken (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:2468:15)\n    at Parser.parse (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:515:10)\n    at Object.parse (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/node_modules/acorn/dist/acorn.js:3098:39)\n    at Parser.parse (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/lib/Parser.js:902:15)\n    at DependenciesBlock.<anonymous> (/Users/airwalker/git/mattermost-desktop/node_modules/webpack/lib/NormalModule.js:104:16)\n    at DependenciesBlock.onModuleBuild (/Users/airwalker/git/mattermost-desktop/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10)\n    at nextLoader (/Users/airwalker/git/mattermost-desktop/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)\n    at /Users/airwalker/git/mattermost-desktop/node_modules/webpack-core/lib/NormalModuleMixin.js:259:5\n    at Storage.finished (/Users/airwalker/git/mattermost-desktop/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:38:16)\n    at /Users/airwalker/git/mattermost-desktop/node_modules/graceful-fs/graceful-fs.js:78:16\n    at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:404:3)\n @ ./src/~/natives ^\\.\\/.*$\n[20:24:32] Finished 'webpack:main' after 3.53 s\n[20:24:32] Starting 'webpack'...\n[20:24:32] Finished 'webpack' after 7.05 μs\n[20:24:32] Finished 'copy:modules' after 3.43 s\n[20:24:32] Finished 'copy:resources' after 3.44 s\n[20:24:32] Starting 'copy'...\n[20:24:32] Finished 'copy' after 3.68 μs\n[20:24:32] Starting 'build'...\n[20:24:32] Finished 'build' after 1.45 ms\n```\n#### npm start\n\n```\n> mattermost-desktop@1.4.0 start /Users/airwalker/git/mattermost-desktop\n> electron dist\n--------------------- skipped -----------------------\n--------------------- skipped -----------------------\nApp threw an error during load\nError: Cannot find module 'stream'.\n    at /Users/airwalker/git/mattermost-desktop/dist/main.js:9527:42\n    at webpackContextResolve (/Users/airwalker/git/mattermost-desktop/dist/main.js:9527:90)\n    at webpackContext (/Users/airwalker/git/mattermost-desktop/dist/main.js:9524:30)\n    at /Users/airwalker/git/mattermost-desktop/dist/main.js:9427:42\n    at Array.forEach (native)\n    at Object.req [as require] (/Users/airwalker/git/mattermost-desktop/dist/main.js:9422:16)\n    at Object.<anonymous> (/Users/airwalker/git/mattermost-desktop/dist/main.js:9377:43)\n    at __webpack_require__ (/Users/airwalker/git/mattermost-desktop/dist/main.js:20:30)\n    at Object.<anonymous> (/Users/airwalker/git/mattermost-desktop/dist/main.js:9215:28)\n    at __webpack_require__ (/Users/airwalker/git/mattermost-desktop/dist/main.js:20:30)\nError: Cannot find module 'stream'.\n    at /Users/airwalker/git/mattermost-desktop/dist/main.js:9527:42\n    at webpackContextResolve (/Users/airwalker/git/mattermost-desktop/dist/main.js:9527:90)\n    at webpackContext (/Users/airwalker/git/mattermost-desktop/dist/main.js:9524:30)\n    at /Users/airwalker/git/mattermost-desktop/dist/main.js:9427:42\n    at Array.forEach (native)\n    at Object.req [as require] (/Users/airwalker/git/mattermost-desktop/dist/main.js:9422:16)\n    at Object.<anonymous> (/Users/airwalker/git/mattermost-desktop/dist/main.js:9377:43)\n    at __webpack_require__ (/Users/airwalker/git/mattermost-desktop/dist/main.js:20:30)\n    at Object.<anonymous> (/Users/airwalker/git/mattermost-desktop/dist/main.js:9215:28)\n    at __webpack_require__ (/Users/airwalker/git/mattermost-desktop/dist/main.js:20:30)\n```\n### node-spellchecker\n\nBTW I just tried [`node-spellchecker`](https://github.com/atom/node-spellchecker) on OS X. I can use it with some tricky way. But, there are some problem.\n- Need to fight with webpack config. (In the worst case, we can manually modify the generated source)\n- Need machines to build the module for each platform, Windows, OS X, and Linux.\n"},"comment":{"url":"https://api.github.com/repos/mattermost/desktop/issues/comments/259268559","html_url":"https://github.com/mattermost/desktop/pull/277#issuecomment-259268559","issue_url":"https://api.github.com/repos/mattermost/desktop/issues/277","id":259268559,"user":{"login":"jasonblais","id":13119842,"avatar_url":"https://avatars.githubusercontent.com/u/13119842?v=3","gravatar_id":"","url":"https://api.github.com/users/jasonblais","html_url":"https://github.com/jasonblais","followers_url":"https://api.github.com/users/jasonblais/followers","following_url":"https://api.github.com/users/jasonblais/following{/other_user}","gists_url":"https://api.github.com/users/jasonblais/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonblais/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonblais/subscriptions","organizations_url":"https://api.github.com/users/jasonblais/orgs","repos_url":"https://api.github.com/users/jasonblais/repos","events_url":"https://api.github.com/users/jasonblais/events{/privacy}","received_events_url":"https://api.github.com/users/jasonblais/received_events","type":"User","site_admin":false},"created_at":"2016-11-08T21:41:54Z","updated_at":"2016-11-08T21:41:54Z","body":"Is it expected that there aren't suggestions when an error is shown by the spellchecker?\r\n\r\nRight now if I right-click the incorrect word, I get the 'cut/copy/paste' context menu\r\n\r\n![image](https://cloud.githubusercontent.com/assets/13119842/20118395/3cfe43bc-a5d2-11e6-9d9e-bdb604237f46.png)\r\n"}}
{"actor":{"display_login":"jasonblais"}}