{"action":"created","comment":{"url":"https://api.github.com/repos/keymanapp/keyman/pulls/comments/216173758","pull_request_review_id":153574791,"id":216173758,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNjE3Mzc1OA==","diff_hunk":"@@ -397,12 +434,12 @@ procedure TMergeKeyboardInfo.AddName;\n \n   if Assigned(FKMPInfFile) then\n     FName := FKMPInfFile.Info.Desc[PackageInfo_Name]\n-  else if Length(FJSFiles) > 0  then\n+  else if (FJSFileInfo.Data <> '')  then","path":"windows/src/developer/TIKE/compile/MergeKeyboardInfo.pas","position":174,"original_position":174,"commit_id":"cc932a0bead736036c930dd2082bb4ddb3625d11","original_commit_id":"cc932a0bead736036c930dd2082bb4ddb3625d11","user":{"login":"mcdurdin","id":4498365,"node_id":"MDQ6VXNlcjQ0OTgzNjU=","avatar_url":"https://avatars1.githubusercontent.com/u/4498365?v=4","gravatar_id":"","url":"https://api.github.com/users/mcdurdin","html_url":"https://github.com/mcdurdin","followers_url":"https://api.github.com/users/mcdurdin/followers","following_url":"https://api.github.com/users/mcdurdin/following{/other_user}","gists_url":"https://api.github.com/users/mcdurdin/gists{/gist_id}","starred_url":"https://api.github.com/users/mcdurdin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcdurdin/subscriptions","organizations_url":"https://api.github.com/users/mcdurdin/orgs","repos_url":"https://api.github.com/users/mcdurdin/repos","events_url":"https://api.github.com/users/mcdurdin/events{/privacy}","received_events_url":"https://api.github.com/users/mcdurdin/received_events","type":"User","site_admin":false},"body":"Extra parentheses not required; use `if not FJSFileInfo.Data.IsEmpty then` which is more fluent.","created_at":"2018-09-09T23:17:21Z","updated_at":"2018-09-09T23:32:12Z","html_url":"https://github.com/keymanapp/keyman/pull/1158#discussion_r216173758","pull_request_url":"https://api.github.com/repos/keymanapp/keyman/pulls/1158","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/comments/216173758"},"html":{"href":"https://github.com/keymanapp/keyman/pull/1158#discussion_r216173758"},"pull_request":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/1158"}}},"pull_request":{"url":"https://api.github.com/repos/keymanapp/keyman/pulls/1158","id":213235886,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEzMjM1ODg2","html_url":"https://github.com/keymanapp/keyman/pull/1158","diff_url":"https://github.com/keymanapp/keyman/pull/1158.diff","patch_url":"https://github.com/keymanapp/keyman/pull/1158.patch","issue_url":"https://api.github.com/repos/keymanapp/keyman/issues/1158","number":1158,"state":"open","locked":false,"title":"[Developer] Refactor merge keyboard info","user":{"login":"darcywong00","id":7358010,"node_id":"MDQ6VXNlcjczNTgwMTA=","avatar_url":"https://avatars0.githubusercontent.com/u/7358010?v=4","gravatar_id":"","url":"https://api.github.com/users/darcywong00","html_url":"https://github.com/darcywong00","followers_url":"https://api.github.com/users/darcywong00/followers","following_url":"https://api.github.com/users/darcywong00/following{/other_user}","gists_url":"https://api.github.com/users/darcywong00/gists{/gist_id}","starred_url":"https://api.github.com/users/darcywong00/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darcywong00/subscriptions","organizations_url":"https://api.github.com/users/darcywong00/orgs","repos_url":"https://api.github.com/users/darcywong00/repos","events_url":"https://api.github.com/users/darcywong00/events{/privacy}","received_events_url":"https://api.github.com/users/darcywong00/received_events","type":"User","site_admin":false},"body":"This is an initial cut at refactoring MergeKeyboardInfo to address issue #1110 \r\nEventually, it will need to be cherry-picked to 10.0\r\n\r\nRefactor MergeKeyboardInfo to handle these keyboard scenarios:\r\n1. JS file not in package (web only)\r\n2. KMP package with kmx files (desktop only)\r\n3. KMP package with JS files (mobile only)\r\n4. KMP package with kmx and JS files (desktop, android, ios)\r\n\r\nTODO\r\n1. Rename `FKMXFiles` to `FPackageKMXFileInfos`\r\n2. Create private var `FPackageJSFileInfos`\r\n3. Update `TMergeKeyboardInfo.LoadKMPFile` to populate `FPackageJSFileInfos`\r\n4. Rename `FJSFiles` to `FJSFileInfo`, change it from array to scalar, and apply only to js files outside package\r\n5. Update `LoadKMPFile` to use the Keyboards structure in `FKMPInfFile` to determine which files inside the package are keyboards (`FKMPInfFile.Keyboards`)\r\n6. Rename `CheckKMXFilenames` to `CheckPackageKetyboardFilenames` and update to report on .js and .kmx file inside the .kmp\r\n7. Update `kmxfile.GetKeyboardInfo` to read targets store and persist in KeyboardInfo\r\n8. Update `AddPlatformSupport` to account for targets","created_at":"2018-09-05T09:59:27Z","updated_at":"2018-09-09T23:32:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b3665337f671d5c121731d46d0eba0dd212acb66","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":143763452,"node_id":"MDU6TGFiZWwxNDM3NjM0NTI=","url":"https://api.github.com/repos/keymanapp/keyman/labels/bug","name":"bug","color":"fc2929","default":true},{"id":648605999,"node_id":"MDU6TGFiZWw2NDg2MDU5OTk=","url":"https://api.github.com/repos/keymanapp/keyman/labels/developer","name":"developer","color":"f9d0c4","default":false}],"milestone":{"url":"https://api.github.com/repos/keymanapp/keyman/milestones/36","html_url":"https://github.com/keymanapp/keyman/milestone/36","labels_url":"https://api.github.com/repos/keymanapp/keyman/milestones/36/labels","id":3631429,"node_id":"MDk6TWlsZXN0b25lMzYzMTQyOQ==","number":36,"title":"P4S6","description":"","creator":{"login":"darcywong00","id":7358010,"node_id":"MDQ6VXNlcjczNTgwMTA=","avatar_url":"https://avatars0.githubusercontent.com/u/7358010?v=4","gravatar_id":"","url":"https://api.github.com/users/darcywong00","html_url":"https://github.com/darcywong00","followers_url":"https://api.github.com/users/darcywong00/followers","following_url":"https://api.github.com/users/darcywong00/following{/other_user}","gists_url":"https://api.github.com/users/darcywong00/gists{/gist_id}","starred_url":"https://api.github.com/users/darcywong00/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darcywong00/subscriptions","organizations_url":"https://api.github.com/users/darcywong00/orgs","repos_url":"https://api.github.com/users/darcywong00/repos","events_url":"https://api.github.com/users/darcywong00/events{/privacy}","received_events_url":"https://api.github.com/users/darcywong00/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":0,"state":"open","created_at":"2018-09-07T07:17:07Z","updated_at":"2018-09-07T23:31:23Z","due_on":"2018-09-21T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/keymanapp/keyman/pulls/1158/commits","review_comments_url":"https://api.github.com/repos/keymanapp/keyman/pulls/1158/comments","review_comment_url":"https://api.github.com/repos/keymanapp/keyman/pulls/comments{/number}","comments_url":"https://api.github.com/repos/keymanapp/keyman/issues/1158/comments","statuses_url":"https://api.github.com/repos/keymanapp/keyman/statuses/cc932a0bead736036c930dd2082bb4ddb3625d11","head":{"label":"keymanapp:developer-refactor-merge-keyboard-info","ref":"developer-refactor-merge-keyboard-info","sha":"cc932a0bead736036c930dd2082bb4ddb3625d11","user":{"login":"keymanapp","id":12402926,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2","avatar_url":"https://avatars1.githubusercontent.com/u/12402926?v=4","gravatar_id":"","url":"https://api.github.com/users/keymanapp","html_url":"https://github.com/keymanapp","followers_url":"https://api.github.com/users/keymanapp/followers","following_url":"https://api.github.com/users/keymanapp/following{/other_user}","gists_url":"https://api.github.com/users/keymanapp/gists{/gist_id}","starred_url":"https://api.github.com/users/keymanapp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keymanapp/subscriptions","organizations_url":"https://api.github.com/users/keymanapp/orgs","repos_url":"https://api.github.com/users/keymanapp/repos","events_url":"https://api.github.com/users/keymanapp/events{/privacy}","received_events_url":"https://api.github.com/users/keymanapp/received_events","type":"Organization","site_admin":false},"repo":{"id":26063183,"node_id":"MDEwOlJlcG9zaXRvcnkyNjA2MzE4Mw==","name":"keyman","full_name":"keymanapp/keyman","owner":{"login":"keymanapp","id":12402926,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2","avatar_url":"https://avatars1.githubusercontent.com/u/12402926?v=4","gravatar_id":"","url":"https://api.github.com/users/keymanapp","html_url":"https://github.com/keymanapp","followers_url":"https://api.github.com/users/keymanapp/followers","following_url":"https://api.github.com/users/keymanapp/following{/other_user}","gists_url":"https://api.github.com/users/keymanapp/gists{/gist_id}","starred_url":"https://api.github.com/users/keymanapp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keymanapp/subscriptions","organizations_url":"https://api.github.com/users/keymanapp/orgs","repos_url":"https://api.github.com/users/keymanapp/repos","events_url":"https://api.github.com/users/keymanapp/events{/privacy}","received_events_url":"https://api.github.com/users/keymanapp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/keymanapp/keyman","description":"Keyman cross platform input methods","fork":false,"url":"https://api.github.com/repos/keymanapp/keyman","forks_url":"https://api.github.com/repos/keymanapp/keyman/forks","keys_url":"https://api.github.com/repos/keymanapp/keyman/keys{/key_id}","collaborators_url":"https://api.github.com/repos/keymanapp/keyman/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/keymanapp/keyman/teams","hooks_url":"https://api.github.com/repos/keymanapp/keyman/hooks","issue_events_url":"https://api.github.com/repos/keymanapp/keyman/issues/events{/number}","events_url":"https://api.github.com/repos/keymanapp/keyman/events","assignees_url":"https://api.github.com/repos/keymanapp/keyman/assignees{/user}","branches_url":"https://api.github.com/repos/keymanapp/keyman/branches{/branch}","tags_url":"https://api.github.com/repos/keymanapp/keyman/tags","blobs_url":"https://api.github.com/repos/keymanapp/keyman/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/keymanapp/keyman/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/keymanapp/keyman/git/refs{/sha}","trees_url":"https://api.github.com/repos/keymanapp/keyman/git/trees{/sha}","statuses_url":"https://api.github.com/repos/keymanapp/keyman/statuses/{sha}","languages_url":"https://api.github.com/repos/keymanapp/keyman/languages","stargazers_url":"https://api.github.com/repos/keymanapp/keyman/stargazers","contributors_url":"https://api.github.com/repos/keymanapp/keyman/contributors","subscribers_url":"https://api.github.com/repos/keymanapp/keyman/subscribers","subscription_url":"https://api.github.com/repos/keymanapp/keyman/subscription","commits_url":"https://api.github.com/repos/keymanapp/keyman/commits{/sha}","git_commits_url":"https://api.github.com/repos/keymanapp/keyman/git/commits{/sha}","comments_url":"https://api.github.com/repos/keymanapp/keyman/comments{/number}","issue_comment_url":"https://api.github.com/repos/keymanapp/keyman/issues/comments{/number}","contents_url":"https://api.github.com/repos/keymanapp/keyman/contents/{+path}","compare_url":"https://api.github.com/repos/keymanapp/keyman/compare/{base}...{head}","merges_url":"https://api.github.com/repos/keymanapp/keyman/merges","archive_url":"https://api.github.com/repos/keymanapp/keyman/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/keymanapp/keyman/downloads","issues_url":"https://api.github.com/repos/keymanapp/keyman/issues{/number}","pulls_url":"https://api.github.com/repos/keymanapp/keyman/pulls{/number}","milestones_url":"https://api.github.com/repos/keymanapp/keyman/milestones{/number}","notifications_url":"https://api.github.com/repos/keymanapp/keyman/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/keymanapp/keyman/labels{/name}","releases_url":"https://api.github.com/repos/keymanapp/keyman/releases{/id}","deployments_url":"https://api.github.com/repos/keymanapp/keyman/deployments","created_at":"2014-11-01T21:01:44Z","updated_at":"2018-09-06T20:30:42Z","pushed_at":"2018-09-07T15:54:33Z","git_url":"git://github.com/keymanapp/keyman.git","ssh_url":"git@github.com:keymanapp/keyman.git","clone_url":"https://github.com/keymanapp/keyman.git","svn_url":"https://github.com/keymanapp/keyman","homepage":"https://keyman.com/","size":179911,"stargazers_count":62,"watchers_count":62,"language":"Pascal","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":236,"license":null,"forks":24,"open_issues":236,"watchers":62,"default_branch":"master"}},"base":{"label":"keymanapp:master","ref":"master","sha":"10232e0b3347fa97376d1227b2d85a89a83210a7","user":{"login":"keymanapp","id":12402926,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2","avatar_url":"https://avatars1.githubusercontent.com/u/12402926?v=4","gravatar_id":"","url":"https://api.github.com/users/keymanapp","html_url":"https://github.com/keymanapp","followers_url":"https://api.github.com/users/keymanapp/followers","following_url":"https://api.github.com/users/keymanapp/following{/other_user}","gists_url":"https://api.github.com/users/keymanapp/gists{/gist_id}","starred_url":"https://api.github.com/users/keymanapp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keymanapp/subscriptions","organizations_url":"https://api.github.com/users/keymanapp/orgs","repos_url":"https://api.github.com/users/keymanapp/repos","events_url":"https://api.github.com/users/keymanapp/events{/privacy}","received_events_url":"https://api.github.com/users/keymanapp/received_events","type":"Organization","site_admin":false},"repo":{"id":26063183,"node_id":"MDEwOlJlcG9zaXRvcnkyNjA2MzE4Mw==","name":"keyman","full_name":"keymanapp/keyman","owner":{"login":"keymanapp","id":12402926,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNDAyOTI2","avatar_url":"https://avatars1.githubusercontent.com/u/12402926?v=4","gravatar_id":"","url":"https://api.github.com/users/keymanapp","html_url":"https://github.com/keymanapp","followers_url":"https://api.github.com/users/keymanapp/followers","following_url":"https://api.github.com/users/keymanapp/following{/other_user}","gists_url":"https://api.github.com/users/keymanapp/gists{/gist_id}","starred_url":"https://api.github.com/users/keymanapp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keymanapp/subscriptions","organizations_url":"https://api.github.com/users/keymanapp/orgs","repos_url":"https://api.github.com/users/keymanapp/repos","events_url":"https://api.github.com/users/keymanapp/events{/privacy}","received_events_url":"https://api.github.com/users/keymanapp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/keymanapp/keyman","description":"Keyman cross platform input methods","fork":false,"url":"https://api.github.com/repos/keymanapp/keyman","forks_url":"https://api.github.com/repos/keymanapp/keyman/forks","keys_url":"https://api.github.com/repos/keymanapp/keyman/keys{/key_id}","collaborators_url":"https://api.github.com/repos/keymanapp/keyman/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/keymanapp/keyman/teams","hooks_url":"https://api.github.com/repos/keymanapp/keyman/hooks","issue_events_url":"https://api.github.com/repos/keymanapp/keyman/issues/events{/number}","events_url":"https://api.github.com/repos/keymanapp/keyman/events","assignees_url":"https://api.github.com/repos/keymanapp/keyman/assignees{/user}","branches_url":"https://api.github.com/repos/keymanapp/keyman/branches{/branch}","tags_url":"https://api.github.com/repos/keymanapp/keyman/tags","blobs_url":"https://api.github.com/repos/keymanapp/keyman/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/keymanapp/keyman/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/keymanapp/keyman/git/refs{/sha}","trees_url":"https://api.github.com/repos/keymanapp/keyman/git/trees{/sha}","statuses_url":"https://api.github.com/repos/keymanapp/keyman/statuses/{sha}","languages_url":"https://api.github.com/repos/keymanapp/keyman/languages","stargazers_url":"https://api.github.com/repos/keymanapp/keyman/stargazers","contributors_url":"https://api.github.com/repos/keymanapp/keyman/contributors","subscribers_url":"https://api.github.com/repos/keymanapp/keyman/subscribers","subscription_url":"https://api.github.com/repos/keymanapp/keyman/subscription","commits_url":"https://api.github.com/repos/keymanapp/keyman/commits{/sha}","git_commits_url":"https://api.github.com/repos/keymanapp/keyman/git/commits{/sha}","comments_url":"https://api.github.com/repos/keymanapp/keyman/comments{/number}","issue_comment_url":"https://api.github.com/repos/keymanapp/keyman/issues/comments{/number}","contents_url":"https://api.github.com/repos/keymanapp/keyman/contents/{+path}","compare_url":"https://api.github.com/repos/keymanapp/keyman/compare/{base}...{head}","merges_url":"https://api.github.com/repos/keymanapp/keyman/merges","archive_url":"https://api.github.com/repos/keymanapp/keyman/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/keymanapp/keyman/downloads","issues_url":"https://api.github.com/repos/keymanapp/keyman/issues{/number}","pulls_url":"https://api.github.com/repos/keymanapp/keyman/pulls{/number}","milestones_url":"https://api.github.com/repos/keymanapp/keyman/milestones{/number}","notifications_url":"https://api.github.com/repos/keymanapp/keyman/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/keymanapp/keyman/labels{/name}","releases_url":"https://api.github.com/repos/keymanapp/keyman/releases{/id}","deployments_url":"https://api.github.com/repos/keymanapp/keyman/deployments","created_at":"2014-11-01T21:01:44Z","updated_at":"2018-09-06T20:30:42Z","pushed_at":"2018-09-07T15:54:33Z","git_url":"git://github.com/keymanapp/keyman.git","ssh_url":"git@github.com:keymanapp/keyman.git","clone_url":"https://github.com/keymanapp/keyman.git","svn_url":"https://github.com/keymanapp/keyman","homepage":"https://keyman.com/","size":179911,"stargazers_count":62,"watchers_count":62,"language":"Pascal","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":236,"license":null,"forks":24,"open_issues":236,"watchers":62,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/1158"},"html":{"href":"https://github.com/keymanapp/keyman/pull/1158"},"issue":{"href":"https://api.github.com/repos/keymanapp/keyman/issues/1158"},"comments":{"href":"https://api.github.com/repos/keymanapp/keyman/issues/1158/comments"},"review_comments":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/1158/comments"},"review_comment":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/keymanapp/keyman/pulls/1158/commits"},"statuses":{"href":"https://api.github.com/repos/keymanapp/keyman/statuses/cc932a0bead736036c930dd2082bb4ddb3625d11"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mcdurdin"}}