{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/15767","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/15767/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/15767/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/15767/events","html_url":"https://github.com/dotnet/roslyn/pull/15767","id":194305551,"number":15767,"title":"Do not use async when invoking code actions","user":{"login":"jmarolf","id":9797472,"avatar_url":"https://avatars.githubusercontent.com/u/9797472?v=3","gravatar_id":"","url":"https://api.github.com/users/jmarolf","html_url":"https://github.com/jmarolf","followers_url":"https://api.github.com/users/jmarolf/followers","following_url":"https://api.github.com/users/jmarolf/following{/other_user}","gists_url":"https://api.github.com/users/jmarolf/gists{/gist_id}","starred_url":"https://api.github.com/users/jmarolf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmarolf/subscriptions","organizations_url":"https://api.github.com/users/jmarolf/orgs","repos_url":"https://api.github.com/users/jmarolf/repos","events_url":"https://api.github.com/users/jmarolf/events{/privacy}","received_events_url":"https://api.github.com/users/jmarolf/received_events","type":"User","site_admin":false},"labels":[{"id":166377917,"url":"https://api.github.com/repos/dotnet/roslyn/labels/Area-IDE","name":"Area-IDE","color":"5319e7","default":false},{"id":197452922,"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"009800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2016-12-08T10:56:15Z","updated_at":"2016-12-19T21:17:02Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/15767","html_url":"https://github.com/dotnet/roslyn/pull/15767","diff_url":"https://github.com/dotnet/roslyn/pull/15767.diff","patch_url":"https://github.com/dotnet/roslyn/pull/15767.patch"},"body":"**Customer scenario**\r\n\r\nApplying any codefix will never show a wait dialog, no matter how long the operation takes.  This includes fixes in a single application of a fix, or fixall in Document, Project, or Solution.\r\n\r\n**Bugs this fixes:** \r\n\r\nhttps://github.com/dotnet/roslyn/issues/15411\r\nhttps://github.com/dotnet/roslyn/issues/15761\r\nhttps://github.com/dotnet/roslyn/issues/15775\r\n\r\n**Workarounds, if any**\r\n\r\nNone\r\n\r\n**Risk**\r\n\r\nLow, we are reverting to earlier behavior where we do not use async when invoking code actions.\r\n\r\n**Performance impact**\r\n\r\nLow, we are reverting to earlier behavior where we do not use async when invoking code actions.\r\n\r\n**Is this a regression from a previous update?**\r\n\r\nYes, this was introduced in RC.2\r\n\r\n**Root cause analysis:**\r\n\r\nCyrus made a large refactoring to Fixall in RC.2.  All of our internal understanding of how the threaded wait dialog works led us to believe that creation on a forground thread and then awaiting a background thread was a legal thing to do.  Turns out creation on a forground thread then yielding to a background thread causes the threaded wait dialog to never pop up.  The fix is to not use async code in combination with the threaded wait dialog.\r\n\r\n**How was the bug found?**\r\n\r\ndogfooding"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/268080900","html_url":"https://github.com/dotnet/roslyn/pull/15767#issuecomment-268080900","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/15767","id":268080900,"user":{"login":"CyrusNajmabadi","id":4564579,"avatar_url":"https://avatars.githubusercontent.com/u/4564579?v=3","gravatar_id":"","url":"https://api.github.com/users/CyrusNajmabadi","html_url":"https://github.com/CyrusNajmabadi","followers_url":"https://api.github.com/users/CyrusNajmabadi/followers","following_url":"https://api.github.com/users/CyrusNajmabadi/following{/other_user}","gists_url":"https://api.github.com/users/CyrusNajmabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/CyrusNajmabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CyrusNajmabadi/subscriptions","organizations_url":"https://api.github.com/users/CyrusNajmabadi/orgs","repos_url":"https://api.github.com/users/CyrusNajmabadi/repos","events_url":"https://api.github.com/users/CyrusNajmabadi/events{/privacy}","received_events_url":"https://api.github.com/users/CyrusNajmabadi/received_events","type":"User","site_admin":false},"created_at":"2016-12-19T21:17:02Z","updated_at":"2016-12-19T21:17:02Z","body":"My only recommendation is that we comment the code we ahve to explain the reasoning behind things."}}
{"actor":{"display_login":"CyrusNajmabadi"}}