{"action":"opened","issue":{"url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/645","repository_url":"https://api.github.com/repos/dotnet/roslyn-project-system","labels_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/645/labels{/name}","comments_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/645/comments","events_url":"https://api.github.com/repos/dotnet/roslyn-project-system/issues/645/events","html_url":"https://github.com/dotnet/roslyn-project-system/issues/645","id":184972718,"number":645,"title":"ProjectLockFileWatcher.ProjectTree_ChangedAsync calculates Project Catalogs with live project data.","user":{"login":"lifengl","id":11638466,"avatar_url":"https://avatars.githubusercontent.com/u/11638466?v=3","gravatar_id":"","url":"https://api.github.com/users/lifengl","html_url":"https://github.com/lifengl","followers_url":"https://api.github.com/users/lifengl/followers","following_url":"https://api.github.com/users/lifengl/following{/other_user}","gists_url":"https://api.github.com/users/lifengl/gists{/gist_id}","starred_url":"https://api.github.com/users/lifengl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lifengl/subscriptions","organizations_url":"https://api.github.com/users/lifengl/orgs","repos_url":"https://api.github.com/users/lifengl/repos","events_url":"https://api.github.com/users/lifengl/events{/privacy}","received_events_url":"https://api.github.com/users/lifengl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-24T22:35:26Z","updated_at":"2016-10-24T22:35:26Z","closed_at":null,"body":"It is not a high priority issue, but need consider to be fixed, because it causes project item schema/catalogs to be calculated twice for all projects during the project loading phase.\r\n\r\nThe watching service chains to the project tree dataflow, should hook project catalog dataflow through the dataflow as well, instead of calling GetCatalogsAsync directly.  The project catalog is always calculated in the dataflow once, calling the GetCatalogsAsync will force it to be recalculated with live project (instead of the project instance matching the project tree snapshot), which comes with some performance wastes (including extra computation + extra immutable dictionaries to hold results).\r\n\r\nRecommend to be considered after RC.\r\n"}}
{"actor":{"display_login":"lifengl"}}