{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/comments/244413451","pull_request_review_id":188373972,"id":244413451,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDQxMzQ1MQ==","diff_hunk":"@@ -121,6 +129,17 @@ export class TabBar extends React.Component<TabBarProps, TabBarState> {\n     );\n   }\n \n+  private keyboardListener = (event: KeyboardEvent): void => {\n+    // Meta corresponds to 'Command' on Mac\n+    const ctrlOrCmdPressed = event.getModifierState('Control') || event.getModifierState('Meta');","path":"packages/app/client/src/ui/shell/mdi/tabBar/tabBar.tsx","position":21,"original_position":21,"commit_id":"f7feb4317d040f82b0c1ec3ef14a8c6a9abd8134","original_commit_id":"f7feb4317d040f82b0c1ec3ef14a8c6a9abd8134","user":{"login":"tonyanziano","id":3452012,"node_id":"MDQ6VXNlcjM0NTIwMTI=","avatar_url":"https://avatars3.githubusercontent.com/u/3452012?v=4","gravatar_id":"","url":"https://api.github.com/users/tonyanziano","html_url":"https://github.com/tonyanziano","followers_url":"https://api.github.com/users/tonyanziano/followers","following_url":"https://api.github.com/users/tonyanziano/following{/other_user}","gists_url":"https://api.github.com/users/tonyanziano/gists{/gist_id}","starred_url":"https://api.github.com/users/tonyanziano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tonyanziano/subscriptions","organizations_url":"https://api.github.com/users/tonyanziano/orgs","repos_url":"https://api.github.com/users/tonyanziano/repos","events_url":"https://api.github.com/users/tonyanziano/events{/privacy}","received_events_url":"https://api.github.com/users/tonyanziano/received_events","type":"User","site_admin":false},"body":"same as above, can use `event.ctrlKey || event.metaKey`","created_at":"2018-12-28T21:43:44Z","updated_at":"2018-12-28T21:43:44Z","html_url":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201#discussion_r244413451","pull_request_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/comments/244413451"},"html":{"href":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201#discussion_r244413451"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201"}}},"pull_request":{"url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201","id":241397794,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxMzk3Nzk0","html_url":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201","diff_url":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201.diff","patch_url":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201.patch","issue_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/1201","number":1201,"state":"open","locked":false,"title":"Adds support for closing a tab, creating a bot, and opening a bot via keyboard bindings","user":{"login":"cwhitten","id":1156704,"node_id":"MDQ6VXNlcjExNTY3MDQ=","avatar_url":"https://avatars3.githubusercontent.com/u/1156704?v=4","gravatar_id":"","url":"https://api.github.com/users/cwhitten","html_url":"https://github.com/cwhitten","followers_url":"https://api.github.com/users/cwhitten/followers","following_url":"https://api.github.com/users/cwhitten/following{/other_user}","gists_url":"https://api.github.com/users/cwhitten/gists{/gist_id}","starred_url":"https://api.github.com/users/cwhitten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwhitten/subscriptions","organizations_url":"https://api.github.com/users/cwhitten/orgs","repos_url":"https://api.github.com/users/cwhitten/repos","events_url":"https://api.github.com/users/cwhitten/events{/privacy}","received_events_url":"https://api.github.com/users/cwhitten/received_events","type":"User","site_admin":false},"body":"- (CMD/CTRL) + W now closes the active tab if there is one, currently the bindings close the application entirely.\r\n- (CMD/CTRL) + O now prompts the user to select a .bot file to open. currently there is no behavior with this binding.\r\n- (CMD/CTRL) + N now opens the new bot configuration modal. currently there is no behavior with this binding.\r\n\r\nBugfixes/Improvements:\r\n\r\nWhen a conversation tab is closed and opened again via an open dialog(s), the user receives an error about the bot already being open. To achieve this behavior successfully it requires a click on the correct Endpoint item to re-open the conversation tab. This change makes it so that the tab is automatically re-opened without the error when the user opens an already open bot with an open dialog.","created_at":"2018-12-28T21:20:38Z","updated_at":"2018-12-28T21:43:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8a453e4fd65e0f0aa1fbf0b7bcf9c900e2f39165","assignee":null,"assignees":[],"requested_reviewers":[{"login":"sgellock","id":733559,"node_id":"MDQ6VXNlcjczMzU1OQ==","avatar_url":"https://avatars1.githubusercontent.com/u/733559?v=4","gravatar_id":"","url":"https://api.github.com/users/sgellock","html_url":"https://github.com/sgellock","followers_url":"https://api.github.com/users/sgellock/followers","following_url":"https://api.github.com/users/sgellock/following{/other_user}","gists_url":"https://api.github.com/users/sgellock/gists{/gist_id}","starred_url":"https://api.github.com/users/sgellock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgellock/subscriptions","organizations_url":"https://api.github.com/users/sgellock/orgs","repos_url":"https://api.github.com/users/sgellock/repos","events_url":"https://api.github.com/users/sgellock/events{/privacy}","received_events_url":"https://api.github.com/users/sgellock/received_events","type":"User","site_admin":false},{"login":"justinwilaby","id":2652885,"node_id":"MDQ6VXNlcjI2NTI4ODU=","avatar_url":"https://avatars1.githubusercontent.com/u/2652885?v=4","gravatar_id":"","url":"https://api.github.com/users/justinwilaby","html_url":"https://github.com/justinwilaby","followers_url":"https://api.github.com/users/justinwilaby/followers","following_url":"https://api.github.com/users/justinwilaby/following{/other_user}","gists_url":"https://api.github.com/users/justinwilaby/gists{/gist_id}","starred_url":"https://api.github.com/users/justinwilaby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinwilaby/subscriptions","organizations_url":"https://api.github.com/users/justinwilaby/orgs","repos_url":"https://api.github.com/users/justinwilaby/repos","events_url":"https://api.github.com/users/justinwilaby/events{/privacy}","received_events_url":"https://api.github.com/users/justinwilaby/received_events","type":"User","site_admin":false},{"login":"a-b-r-o-w-n","id":3619060,"node_id":"MDQ6VXNlcjM2MTkwNjA=","avatar_url":"https://avatars0.githubusercontent.com/u/3619060?v=4","gravatar_id":"","url":"https://api.github.com/users/a-b-r-o-w-n","html_url":"https://github.com/a-b-r-o-w-n","followers_url":"https://api.github.com/users/a-b-r-o-w-n/followers","following_url":"https://api.github.com/users/a-b-r-o-w-n/following{/other_user}","gists_url":"https://api.github.com/users/a-b-r-o-w-n/gists{/gist_id}","starred_url":"https://api.github.com/users/a-b-r-o-w-n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/a-b-r-o-w-n/subscriptions","organizations_url":"https://api.github.com/users/a-b-r-o-w-n/orgs","repos_url":"https://api.github.com/users/a-b-r-o-w-n/repos","events_url":"https://api.github.com/users/a-b-r-o-w-n/events{/privacy}","received_events_url":"https://api.github.com/users/a-b-r-o-w-n/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201/commits","review_comments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201/comments","review_comment_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/1201/comments","statuses_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/statuses/f7feb4317d040f82b0c1ec3ef14a8c6a9abd8134","head":{"label":"Microsoft:new-keyboard-bindings","ref":"new-keyboard-bindings","sha":"f7feb4317d040f82b0c1ec3ef14a8c6a9abd8134","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":73518607,"node_id":"MDEwOlJlcG9zaXRvcnk3MzUxODYwNw==","name":"BotFramework-Emulator","full_name":"Microsoft/BotFramework-Emulator","private":false,"owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Microsoft/BotFramework-Emulator","description":"Bot Framework Emulator","fork":false,"url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator","forks_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/forks","keys_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/teams","hooks_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/events","assignees_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/tags","blobs_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/languages","stargazers_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/subscription","commits_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/merges","archive_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/downloads","issues_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/deployments","created_at":"2016-11-11T23:15:09Z","updated_at":"2018-12-28T21:33:57Z","pushed_at":"2018-12-28T21:34:27Z","git_url":"git://github.com/Microsoft/BotFramework-Emulator.git","ssh_url":"git@github.com:Microsoft/BotFramework-Emulator.git","clone_url":"https://github.com/Microsoft/BotFramework-Emulator.git","svn_url":"https://github.com/Microsoft/BotFramework-Emulator","homepage":"https://aka.ms/botemulator","size":39410,"stargazers_count":881,"watchers_count":881,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":373,"mirror_url":null,"archived":false,"open_issues_count":123,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":373,"open_issues":123,"watchers":881,"default_branch":"master"}},"base":{"label":"Microsoft:master","ref":"master","sha":"4b620e3367938243a70fada026654280727b7beb","user":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":73518607,"node_id":"MDEwOlJlcG9zaXRvcnk3MzUxODYwNw==","name":"BotFramework-Emulator","full_name":"Microsoft/BotFramework-Emulator","private":false,"owner":{"login":"Microsoft","id":6154722,"node_id":"MDEyOk9yZ2FuaXphdGlvbjYxNTQ3MjI=","avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Microsoft/BotFramework-Emulator","description":"Bot Framework Emulator","fork":false,"url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator","forks_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/forks","keys_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/teams","hooks_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/events","assignees_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/tags","blobs_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/languages","stargazers_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/subscription","commits_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/merges","archive_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/downloads","issues_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/deployments","created_at":"2016-11-11T23:15:09Z","updated_at":"2018-12-28T21:33:57Z","pushed_at":"2018-12-28T21:34:27Z","git_url":"git://github.com/Microsoft/BotFramework-Emulator.git","ssh_url":"git@github.com:Microsoft/BotFramework-Emulator.git","clone_url":"https://github.com/Microsoft/BotFramework-Emulator.git","svn_url":"https://github.com/Microsoft/BotFramework-Emulator","homepage":"https://aka.ms/botemulator","size":39410,"stargazers_count":881,"watchers_count":881,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":373,"mirror_url":null,"archived":false,"open_issues_count":123,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":373,"open_issues":123,"watchers":881,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201"},"html":{"href":"https://github.com/Microsoft/BotFramework-Emulator/pull/1201"},"issue":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/1201"},"comments":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/issues/1201/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/pulls/1201/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/BotFramework-Emulator/statuses/f7feb4317d040f82b0c1ec3ef14a8c6a9abd8134"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tonyanziano"}}