{"action":"created","issue":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/13939","repository_url":"https://api.github.com/repos/dotnet/roslyn","labels_url":"https://api.github.com/repos/dotnet/roslyn/issues/13939/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/13939/comments","events_url":"https://api.github.com/repos/dotnet/roslyn/issues/13939/events","html_url":"https://github.com/dotnet/roslyn/pull/13939","id":178199169,"number":13939,"title":"Properly handle null paths being passed to the RemotePersistenceService.","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},"labels":[{"url":"https://api.github.com/repos/dotnet/roslyn/labels/cla-already-signed","name":"cla-already-signed","color":"009800"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-09-20T22:40:47Z","updated_at":"2016-09-20T22:44:48Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/13939","html_url":"https://github.com/dotnet/roslyn/pull/13939","diff_url":"https://github.com/dotnet/roslyn/pull/13939.diff","patch_url":"https://github.com/dotnet/roslyn/pull/13939.patch"},"body":"It is totally expected that 'null' solution paths will exist in practice.  VS can create lightweight solutions that are never persisted to disk until the user decides to finally save them.  Or there may be Solution objects not backed by .sln files at all.\r\n\r\n'null' is expected and flows through the VS side of the persistence layer just fine.  The mistake i made was to try to take the value and use it to produce a new path on the remote side without checking for null first.  We're now resilient to that and handle null properly.\r\n"},"comment":{"url":"https://api.github.com/repos/dotnet/roslyn/issues/comments/248458015","html_url":"https://github.com/dotnet/roslyn/pull/13939#issuecomment-248458015","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/13939","id":248458015,"user":{"login":"heejaechang","id":1333179,"avatar_url":"https://avatars.githubusercontent.com/u/1333179?v=3","gravatar_id":"","url":"https://api.github.com/users/heejaechang","html_url":"https://github.com/heejaechang","followers_url":"https://api.github.com/users/heejaechang/followers","following_url":"https://api.github.com/users/heejaechang/following{/other_user}","gists_url":"https://api.github.com/users/heejaechang/gists{/gist_id}","starred_url":"https://api.github.com/users/heejaechang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heejaechang/subscriptions","organizations_url":"https://api.github.com/users/heejaechang/orgs","repos_url":"https://api.github.com/users/heejaechang/repos","events_url":"https://api.github.com/users/heejaechang/events{/privacy}","received_events_url":"https://api.github.com/users/heejaechang/received_events","type":"User","site_admin":false},"created_at":"2016-09-20T22:44:48Z","updated_at":"2016-09-20T22:44:48Z","body":"👍 "}}
{"actor":{"display_login":"heejaechang"}}