Uh oh!
There was an error while loading. Please reload this page.
Delay load configured project referenced from external project when opening it - #25884
Conversation
4716d31 to
8c5ae9bCompare…igured project referenced from external project when opening it
Since external projects are needed to be uptodate when opening file, so in most likely scenarios these will be loaded anyways so there is no saving in postponing this work
…ynchronizeProjectList for project opened by external project
8c5ae9b to
f67bdd4CompareSheetal Nandi (sheetalkamat)
commented
Aug 14, 2018
Ryan Cavanaugh (@RyanCavanaugh) this is the PR that does lazy loading of configured projects as discussed offline. |
| setProjectOptionsUsed(project); | ||
| const data: ProjectInfoTelemetryEventData = { | ||
| projectId: this.host.createSHA256Hash(projectKey), | ||
| projectId: this.host.createSHA256Hash(project.projectName), |
There was a problem hiding this comment.
Andrew Casey (@amcasey) is this OK?
There was a problem hiding this comment.
Since projects are not 1:1 with users or devices and the hash function is cryptographically secure, I understand that this is okay.
There was a problem hiding this comment.
Note that this isnt a real change since project key was project.projectName (configFile name for configured projects and external project name ) so this is just instead of passing it through the calls uses it directly through the key, hence no changes in the tests as well.
Ryan Cavanaugh (RyanCavanaugh)
commented
Aug 16, 2018
Overall LGTM; just had a GDPR compliance check |
With this change Configured projects that are part of external project, are just is just created but reading the config file and creating program based on the root files is postponed to when needed.
To delay loading for config file and program the changes included are:
compileOnSaveAffectedFileListdo not load all projects if the project to get list on affected file list is specifiedsynchronizeProjectListsend file names as empty list for configured projects that aren't loaded yet.