{"action":"created","comment":{"url":"https://api.github.com/repos/EDCD/EDDI/pulls/comments/174654993","pull_request_review_id":104050918,"id":174654993,"diff_hunk":"@@ -1183,6 +1198,22 @@ private bool inFighterOrBuggy(string model)\n             } while (shipId != profileId);\n             Logging.Debug(\"Current Ship Id is: \" + shipId + \", Profile Ship Id is \" + profileId);\n         }\n+\n+        static void RaiseOnUIThread(EventHandler handler, object sender)\n+        {\n+            if (handler != null)\n+            {\n+                SynchronizationContext uiSyncContext = SynchronizationContext.Current ?? new SynchronizationContext();\n+                if (uiSyncContext == null)","path":"ShipMonitor/ShipMonitor.cs","position":172,"original_position":172,"commit_id":"6f102151cc766d8b4a051acbbcac811e40defaf7","original_commit_id":"6f102151cc766d8b4a051acbbcac811e40defaf7","user":{"login":"richardbuckle","id":227024,"avatar_url":"https://avatars2.githubusercontent.com/u/227024?v=4","gravatar_id":"","url":"https://api.github.com/users/richardbuckle","html_url":"https://github.com/richardbuckle","followers_url":"https://api.github.com/users/richardbuckle/followers","following_url":"https://api.github.com/users/richardbuckle/following{/other_user}","gists_url":"https://api.github.com/users/richardbuckle/gists{/gist_id}","starred_url":"https://api.github.com/users/richardbuckle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richardbuckle/subscriptions","organizations_url":"https://api.github.com/users/richardbuckle/orgs","repos_url":"https://api.github.com/users/richardbuckle/repos","events_url":"https://api.github.com/users/richardbuckle/events{/privacy}","received_events_url":"https://api.github.com/users/richardbuckle/received_events","type":"User","site_admin":false},"body":"I'm not going to mess with it.","created_at":"2018-03-15T01:18:09Z","updated_at":"2018-03-15T01:18:09Z","html_url":"https://github.com/EDCD/EDDI/pull/418#discussion_r174654993","pull_request_url":"https://api.github.com/repos/EDCD/EDDI/pulls/418","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/comments/174654993"},"html":{"href":"https://github.com/EDCD/EDDI/pull/418#discussion_r174654993"},"pull_request":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/418"}},"in_reply_to_id":174645847},"pull_request":{"url":"https://api.github.com/repos/EDCD/EDDI/pulls/418","id":174841273,"html_url":"https://github.com/EDCD/EDDI/pull/418","diff_url":"https://github.com/EDCD/EDDI/pull/418.diff","patch_url":"https://github.com/EDCD/EDDI/pull/418.patch","issue_url":"https://api.github.com/repos/EDCD/EDDI/issues/418","number":418,"state":"open","locked":false,"title":"Fix for #305. Run actions to update the shipmonitor in the dispatcher thread.","user":{"login":"Tkael","id":4382539,"avatar_url":"https://avatars3.githubusercontent.com/u/4382539?v=4","gravatar_id":"","url":"https://api.github.com/users/Tkael","html_url":"https://github.com/Tkael","followers_url":"https://api.github.com/users/Tkael/followers","following_url":"https://api.github.com/users/Tkael/following{/other_user}","gists_url":"https://api.github.com/users/Tkael/gists{/gist_id}","starred_url":"https://api.github.com/users/Tkael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tkael/subscriptions","organizations_url":"https://api.github.com/users/Tkael/orgs","repos_url":"https://api.github.com/users/Tkael/repos","events_url":"https://api.github.com/users/Tkael/events{/privacy}","received_events_url":"https://api.github.com/users/Tkael/received_events","type":"User","site_admin":false},"body":"Verified that shipmonitor.json is being updated, EDDI's UI is being updated, and that no exceptions are thrown. Please test and confirm! :-)\r\n\r\n- The shipyard now uses BindingOperations.EnableCollectionSynchronization to synchronize the collection between threads (note that the shipmonitor is not run on the same thread when used as a plugin from VoiceAttack and requires the use of the dispatcher to initiate the sync.\r\n- Removed `uiSyncContext`. No longer required.\r\n- Added `ShipyardUpdatedEvent`. This can be used to \"force\" a UI refresh (though it typically is not needed)\r\n- Revised sequencing to prevent a lock from being called while already inside a lock. \r\n- Unrelated improvement: The `refreshProfileDelayed` method is now an async Task method, rather than an async void method.","created_at":"2018-03-14T02:49:43Z","updated_at":"2018-03-15T01:18:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb169d6a33988b895270dc9bb8a01d22ed5f2856","assignee":null,"assignees":[],"requested_reviewers":[{"login":"Hoodathunk","id":22770885,"avatar_url":"https://avatars0.githubusercontent.com/u/22770885?v=4","gravatar_id":"","url":"https://api.github.com/users/Hoodathunk","html_url":"https://github.com/Hoodathunk","followers_url":"https://api.github.com/users/Hoodathunk/followers","following_url":"https://api.github.com/users/Hoodathunk/following{/other_user}","gists_url":"https://api.github.com/users/Hoodathunk/gists{/gist_id}","starred_url":"https://api.github.com/users/Hoodathunk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hoodathunk/subscriptions","organizations_url":"https://api.github.com/users/Hoodathunk/orgs","repos_url":"https://api.github.com/users/Hoodathunk/repos","events_url":"https://api.github.com/users/Hoodathunk/events{/privacy}","received_events_url":"https://api.github.com/users/Hoodathunk/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":679384613,"url":"https://api.github.com/repos/EDCD/EDDI/labels/5.%20priority%20/%20painful","name":"5. priority / painful","color":"ee0701","default":false}],"milestone":{"url":"https://api.github.com/repos/EDCD/EDDI/milestones/3","html_url":"https://github.com/EDCD/EDDI/milestone/3","labels_url":"https://api.github.com/repos/EDCD/EDDI/milestones/3/labels","id":2856466,"number":3,"title":"Beyond Chapter 1","description":"","creator":{"login":"Tkael","id":4382539,"avatar_url":"https://avatars3.githubusercontent.com/u/4382539?v=4","gravatar_id":"","url":"https://api.github.com/users/Tkael","html_url":"https://github.com/Tkael","followers_url":"https://api.github.com/users/Tkael/followers","following_url":"https://api.github.com/users/Tkael/following{/other_user}","gists_url":"https://api.github.com/users/Tkael/gists{/gist_id}","starred_url":"https://api.github.com/users/Tkael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tkael/subscriptions","organizations_url":"https://api.github.com/users/Tkael/orgs","repos_url":"https://api.github.com/users/Tkael/repos","events_url":"https://api.github.com/users/Tkael/events{/privacy}","received_events_url":"https://api.github.com/users/Tkael/received_events","type":"User","site_admin":false},"open_issues":21,"closed_issues":22,"state":"open","created_at":"2017-10-22T03:13:32Z","updated_at":"2018-03-14T23:10:36Z","due_on":"2018-03-13T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/EDCD/EDDI/pulls/418/commits","review_comments_url":"https://api.github.com/repos/EDCD/EDDI/pulls/418/comments","review_comment_url":"https://api.github.com/repos/EDCD/EDDI/pulls/comments{/number}","comments_url":"https://api.github.com/repos/EDCD/EDDI/issues/418/comments","statuses_url":"https://api.github.com/repos/EDCD/EDDI/statuses/6f102151cc766d8b4a051acbbcac811e40defaf7","head":{"label":"EDCD:hotfix/305-shipyard","ref":"hotfix/305-shipyard","sha":"6f102151cc766d8b4a051acbbcac811e40defaf7","user":{"login":"EDCD","id":16920010,"avatar_url":"https://avatars1.githubusercontent.com/u/16920010?v=4","gravatar_id":"","url":"https://api.github.com/users/EDCD","html_url":"https://github.com/EDCD","followers_url":"https://api.github.com/users/EDCD/followers","following_url":"https://api.github.com/users/EDCD/following{/other_user}","gists_url":"https://api.github.com/users/EDCD/gists{/gist_id}","starred_url":"https://api.github.com/users/EDCD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EDCD/subscriptions","organizations_url":"https://api.github.com/users/EDCD/orgs","repos_url":"https://api.github.com/users/EDCD/repos","events_url":"https://api.github.com/users/EDCD/events{/privacy}","received_events_url":"https://api.github.com/users/EDCD/received_events","type":"Organization","site_admin":false},"repo":{"id":99374952,"name":"EDDI","full_name":"EDCD/EDDI","owner":{"login":"EDCD","id":16920010,"avatar_url":"https://avatars1.githubusercontent.com/u/16920010?v=4","gravatar_id":"","url":"https://api.github.com/users/EDCD","html_url":"https://github.com/EDCD","followers_url":"https://api.github.com/users/EDCD/followers","following_url":"https://api.github.com/users/EDCD/following{/other_user}","gists_url":"https://api.github.com/users/EDCD/gists{/gist_id}","starred_url":"https://api.github.com/users/EDCD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EDCD/subscriptions","organizations_url":"https://api.github.com/users/EDCD/orgs","repos_url":"https://api.github.com/users/EDCD/repos","events_url":"https://api.github.com/users/EDCD/events{/privacy}","received_events_url":"https://api.github.com/users/EDCD/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/EDCD/EDDI","description":null,"fork":true,"url":"https://api.github.com/repos/EDCD/EDDI","forks_url":"https://api.github.com/repos/EDCD/EDDI/forks","keys_url":"https://api.github.com/repos/EDCD/EDDI/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EDCD/EDDI/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EDCD/EDDI/teams","hooks_url":"https://api.github.com/repos/EDCD/EDDI/hooks","issue_events_url":"https://api.github.com/repos/EDCD/EDDI/issues/events{/number}","events_url":"https://api.github.com/repos/EDCD/EDDI/events","assignees_url":"https://api.github.com/repos/EDCD/EDDI/assignees{/user}","branches_url":"https://api.github.com/repos/EDCD/EDDI/branches{/branch}","tags_url":"https://api.github.com/repos/EDCD/EDDI/tags","blobs_url":"https://api.github.com/repos/EDCD/EDDI/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EDCD/EDDI/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EDCD/EDDI/git/refs{/sha}","trees_url":"https://api.github.com/repos/EDCD/EDDI/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EDCD/EDDI/statuses/{sha}","languages_url":"https://api.github.com/repos/EDCD/EDDI/languages","stargazers_url":"https://api.github.com/repos/EDCD/EDDI/stargazers","contributors_url":"https://api.github.com/repos/EDCD/EDDI/contributors","subscribers_url":"https://api.github.com/repos/EDCD/EDDI/subscribers","subscription_url":"https://api.github.com/repos/EDCD/EDDI/subscription","commits_url":"https://api.github.com/repos/EDCD/EDDI/commits{/sha}","git_commits_url":"https://api.github.com/repos/EDCD/EDDI/git/commits{/sha}","comments_url":"https://api.github.com/repos/EDCD/EDDI/comments{/number}","issue_comment_url":"https://api.github.com/repos/EDCD/EDDI/issues/comments{/number}","contents_url":"https://api.github.com/repos/EDCD/EDDI/contents/{+path}","compare_url":"https://api.github.com/repos/EDCD/EDDI/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EDCD/EDDI/merges","archive_url":"https://api.github.com/repos/EDCD/EDDI/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EDCD/EDDI/downloads","issues_url":"https://api.github.com/repos/EDCD/EDDI/issues{/number}","pulls_url":"https://api.github.com/repos/EDCD/EDDI/pulls{/number}","milestones_url":"https://api.github.com/repos/EDCD/EDDI/milestones{/number}","notifications_url":"https://api.github.com/repos/EDCD/EDDI/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EDCD/EDDI/labels{/name}","releases_url":"https://api.github.com/repos/EDCD/EDDI/releases{/id}","deployments_url":"https://api.github.com/repos/EDCD/EDDI/deployments","created_at":"2017-08-04T19:47:37Z","updated_at":"2018-03-15T00:33:06Z","pushed_at":"2018-03-15T00:33:03Z","git_url":"git://github.com/EDCD/EDDI.git","ssh_url":"git@github.com:EDCD/EDDI.git","clone_url":"https://github.com/EDCD/EDDI.git","svn_url":"https://github.com/EDCD/EDDI","homepage":null,"size":9527,"stargazers_count":61,"watchers_count":61,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"open_issues_count":50,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":14,"open_issues":50,"watchers":61,"default_branch":"develop"}},"base":{"label":"EDCD:develop","ref":"develop","sha":"be8555952d040ca0d9a1f0f975f3b223d00783b2","user":{"login":"EDCD","id":16920010,"avatar_url":"https://avatars1.githubusercontent.com/u/16920010?v=4","gravatar_id":"","url":"https://api.github.com/users/EDCD","html_url":"https://github.com/EDCD","followers_url":"https://api.github.com/users/EDCD/followers","following_url":"https://api.github.com/users/EDCD/following{/other_user}","gists_url":"https://api.github.com/users/EDCD/gists{/gist_id}","starred_url":"https://api.github.com/users/EDCD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EDCD/subscriptions","organizations_url":"https://api.github.com/users/EDCD/orgs","repos_url":"https://api.github.com/users/EDCD/repos","events_url":"https://api.github.com/users/EDCD/events{/privacy}","received_events_url":"https://api.github.com/users/EDCD/received_events","type":"Organization","site_admin":false},"repo":{"id":99374952,"name":"EDDI","full_name":"EDCD/EDDI","owner":{"login":"EDCD","id":16920010,"avatar_url":"https://avatars1.githubusercontent.com/u/16920010?v=4","gravatar_id":"","url":"https://api.github.com/users/EDCD","html_url":"https://github.com/EDCD","followers_url":"https://api.github.com/users/EDCD/followers","following_url":"https://api.github.com/users/EDCD/following{/other_user}","gists_url":"https://api.github.com/users/EDCD/gists{/gist_id}","starred_url":"https://api.github.com/users/EDCD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EDCD/subscriptions","organizations_url":"https://api.github.com/users/EDCD/orgs","repos_url":"https://api.github.com/users/EDCD/repos","events_url":"https://api.github.com/users/EDCD/events{/privacy}","received_events_url":"https://api.github.com/users/EDCD/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/EDCD/EDDI","description":null,"fork":true,"url":"https://api.github.com/repos/EDCD/EDDI","forks_url":"https://api.github.com/repos/EDCD/EDDI/forks","keys_url":"https://api.github.com/repos/EDCD/EDDI/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EDCD/EDDI/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EDCD/EDDI/teams","hooks_url":"https://api.github.com/repos/EDCD/EDDI/hooks","issue_events_url":"https://api.github.com/repos/EDCD/EDDI/issues/events{/number}","events_url":"https://api.github.com/repos/EDCD/EDDI/events","assignees_url":"https://api.github.com/repos/EDCD/EDDI/assignees{/user}","branches_url":"https://api.github.com/repos/EDCD/EDDI/branches{/branch}","tags_url":"https://api.github.com/repos/EDCD/EDDI/tags","blobs_url":"https://api.github.com/repos/EDCD/EDDI/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EDCD/EDDI/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EDCD/EDDI/git/refs{/sha}","trees_url":"https://api.github.com/repos/EDCD/EDDI/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EDCD/EDDI/statuses/{sha}","languages_url":"https://api.github.com/repos/EDCD/EDDI/languages","stargazers_url":"https://api.github.com/repos/EDCD/EDDI/stargazers","contributors_url":"https://api.github.com/repos/EDCD/EDDI/contributors","subscribers_url":"https://api.github.com/repos/EDCD/EDDI/subscribers","subscription_url":"https://api.github.com/repos/EDCD/EDDI/subscription","commits_url":"https://api.github.com/repos/EDCD/EDDI/commits{/sha}","git_commits_url":"https://api.github.com/repos/EDCD/EDDI/git/commits{/sha}","comments_url":"https://api.github.com/repos/EDCD/EDDI/comments{/number}","issue_comment_url":"https://api.github.com/repos/EDCD/EDDI/issues/comments{/number}","contents_url":"https://api.github.com/repos/EDCD/EDDI/contents/{+path}","compare_url":"https://api.github.com/repos/EDCD/EDDI/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EDCD/EDDI/merges","archive_url":"https://api.github.com/repos/EDCD/EDDI/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EDCD/EDDI/downloads","issues_url":"https://api.github.com/repos/EDCD/EDDI/issues{/number}","pulls_url":"https://api.github.com/repos/EDCD/EDDI/pulls{/number}","milestones_url":"https://api.github.com/repos/EDCD/EDDI/milestones{/number}","notifications_url":"https://api.github.com/repos/EDCD/EDDI/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EDCD/EDDI/labels{/name}","releases_url":"https://api.github.com/repos/EDCD/EDDI/releases{/id}","deployments_url":"https://api.github.com/repos/EDCD/EDDI/deployments","created_at":"2017-08-04T19:47:37Z","updated_at":"2018-03-15T00:33:06Z","pushed_at":"2018-03-15T00:33:03Z","git_url":"git://github.com/EDCD/EDDI.git","ssh_url":"git@github.com:EDCD/EDDI.git","clone_url":"https://github.com/EDCD/EDDI.git","svn_url":"https://github.com/EDCD/EDDI","homepage":null,"size":9527,"stargazers_count":61,"watchers_count":61,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":14,"mirror_url":null,"archived":false,"open_issues_count":50,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":14,"open_issues":50,"watchers":61,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/418"},"html":{"href":"https://github.com/EDCD/EDDI/pull/418"},"issue":{"href":"https://api.github.com/repos/EDCD/EDDI/issues/418"},"comments":{"href":"https://api.github.com/repos/EDCD/EDDI/issues/418/comments"},"review_comments":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/418/comments"},"review_comment":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/EDCD/EDDI/pulls/418/commits"},"statuses":{"href":"https://api.github.com/repos/EDCD/EDDI/statuses/6f102151cc766d8b4a051acbbcac811e40defaf7"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"richardbuckle"}}