{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":83818401,"defaultBranch":"main","name":"proj-info","ownerLogin":"ionide","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-03-03T16:27:21.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13540650?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715794881.0","currentOid":""},"activityList":{"items":[{"before":"80a86fd8d271fba2d7d5d77689dda9b5418ae203","after":null,"ref":"refs/heads/fcs-bump","pushedAt":"2024-05-15T17:39:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"}},{"before":"6d807b4a1876e32ff74f3ae6b48a9ac90049036a","after":"9b5e5926e97694c697590b50b1577be986a46ec2","ref":"refs/heads/main","pushedAt":"2024-05-15T17:37:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"update FCS and FSharp.Core for new release (#208)","shortMessageHtmlLink":"update FCS and FSharp.Core for new release (#208)"}},{"before":"3cd45d971ad535d2d3c27b199f2038faa7cd4fdf","after":"80a86fd8d271fba2d7d5d77689dda9b5418ae203","ref":"refs/heads/fcs-bump","pushedAt":"2024-05-15T15:13:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"update FCS and FSharp.Core for new release","shortMessageHtmlLink":"update FCS and FSharp.Core for new release"}},{"before":null,"after":"3cd45d971ad535d2d3c27b199f2038faa7cd4fdf","ref":"refs/heads/fcs-bump","pushedAt":"2024-05-15T15:11:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"update FCS and FSharp.Core for new release","shortMessageHtmlLink":"update FCS and FSharp.Core for new release"}},{"before":"fec96025d42b925a2ec967cdd72339b40c5f56a4","after":"6d807b4a1876e32ff74f3ae6b48a9ac90049036a","ref":"refs/heads/main","pushedAt":"2024-04-21T23:17:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Changelog for v0.64.0","shortMessageHtmlLink":"Changelog for v0.64.0"}},{"before":"3c6fec96533109f88010db06464380c4bebc8b2f","after":"fec96025d42b925a2ec967cdd72339b40c5f56a4","ref":"refs/heads/main","pushedAt":"2024-04-21T22:21:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Support traversal projects (#207)","shortMessageHtmlLink":"Support traversal projects (#207)"}},{"before":"3a7a3fa1c1ac782ad935b0f8d7556bb76a66c9bb","after":"f5a4453d84cc48c621654953ce7a394345404134","ref":"refs/heads/support-traversal-projects","pushedAt":"2024-04-21T19:29:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"get full support for both loaders","shortMessageHtmlLink":"get full support for both loaders"}},{"before":"74e8b10565eaaf159edf04ba5894dfb49454b302","after":null,"ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T19:10:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"}},{"before":"6fe2b3bf85f20b29a00e8c59700f3f78c87416fb","after":"3c6fec96533109f88010db06464380c4bebc8b2f","ref":"refs/heads/main","pushedAt":"2024-04-21T19:10:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Allow loading of projects that are missing imports. (#206)\n\n## The Problem\r\n\r\nTo load project files with missing Imports, we need to supply one or two ProjectLoadSettings flags to everywhere a project file could be parsed. These flags are `ProjectLoadSettings.IgnoreMissingImports` and `ProjectLoadSettings.IgnoreInvalidImports`. Ideally we need to find everywhere that a project would be loaded (so anywhere `Project(...)` or `ProjectInstance(...)` occur) and make sure these flags are applied.\r\n\r\n## Phase 1 - protecting the main constructors\r\n\r\nFor our purposes there are two main places that `ProjectLoadSettings` can be specified\r\n* when the `Project` constructor is called in the `WorkspaceLoader`\r\n* as part of the `buildParameters` for the `WorkspaceLoaderViaProjectGraph`\r\n\r\nApplying these changes to the existing call-sites was fairly easy - there were something like 6 places that Projects/Project Instances were directly created. Here we come to our first hurdle - the `ProjectInstance` constructor doesn't surface `ProjectLoadSettings` in any way. So step one was to turn any sort of `ProjectInstance` creation into a two-phase operation:\r\n* create the `Project` with appropriate load settings\r\n* create the `ProjectInstance` from that `Project`\r\n\r\nThis got us most of the way through the tests.\r\n\r\n## Phase 2 - TFM detection\r\n\r\nWith one hurdle - the way we detected the TFM for a project involved loading a `ProjectInstance` directly and reading properties from it, and this turned out to be error prone because of the reasons mentioned above - `ProjectInstance` doesn't have `ProjectLoadSettings`. So we needed to create a `Project` to get the `ProjectInstance` from, as described above.\r\n\r\n## Phase 3 - ProjectCollection management\r\n\r\nThe above fix worked for more tests, but others still failed because the 'same project' was being created (and implicitly assigned to the global `ProjectCollection`) multiple times - a big no-no for `ProjectCollections`. So this required two changes:\r\n* create and manage a `ProjectCollection` as a 'container' for a given call to `LoadProjects` - this allows us to cache the evaluations and design-time builds over the course of a single call to `LoadProjects` while also not cluttering/clobbering the global default `ProjectCollection`\r\n* implement a function that safely retrieves an existing `Project` from the `ProjectCollection` if one exists for the same project path + global properties - if not, a new `Project` is created. \r\n\r\nWith these two changes, all the tests (including the new tests) became green.","shortMessageHtmlLink":"Allow loading of projects that are missing imports. (#206)"}},{"before":"967f2c982e0c2b719268ddf3a7b84b793ec7c2ed","after":"74e8b10565eaaf159edf04ba5894dfb49454b302","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T18:50:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Fix logger initialization for the new message","shortMessageHtmlLink":"Fix logger initialization for the new message"}},{"before":"9ab3cd228ac00b0a09079b4e2434eac6e6e31cce","after":"967f2c982e0c2b719268ddf3a7b84b793ec7c2ed","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T16:54:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"CI: fix CI breaks when uploading the same asset (nuget packages in this case) multiple times\n\nwe don't need to keep the nugets from PR builds so we'll save that step just for the release.","shortMessageHtmlLink":"CI: fix CI breaks when uploading the same asset (nuget packages in th…"}},{"before":"f99e8e956fa2ce3a1e7e13d8096b4e9ba09e90aa","after":"9ab3cd228ac00b0a09079b4e2434eac6e6e31cce","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T16:44:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"better logging and diagnostics","shortMessageHtmlLink":"better logging and diagnostics"}},{"before":"edcb6429f6fc5a4fc9e722196915e4f1fa732567","after":"3a7a3fa1c1ac782ad935b0f8d7556bb76a66c9bb","ref":"refs/heads/support-traversal-projects","pushedAt":"2024-04-21T15:47:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"get full support for both loaders","shortMessageHtmlLink":"get full support for both loaders"}},{"before":"96e9fb4c0acde726da47b0624e24053d97d60f7e","after":"edcb6429f6fc5a4fc9e722196915e4f1fa732567","ref":"refs/heads/support-traversal-projects","pushedAt":"2024-04-21T15:47:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Basic traversal project support in the standard WorkspaceLoader","shortMessageHtmlLink":"Basic traversal project support in the standard WorkspaceLoader"}},{"before":"a7d980754a60f187bb30496a69e2170e1b10a807","after":"f99e8e956fa2ce3a1e7e13d8096b4e9ba09e90aa","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T02:16:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"A spot of code cleanup","shortMessageHtmlLink":"A spot of code cleanup"}},{"before":"103824e6a0506119206ebcc0df1a2e954831102e","after":"a7d980754a60f187bb30496a69e2170e1b10a807","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:56:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"fix the project-uniqueness comparison","shortMessageHtmlLink":"fix the project-uniqueness comparison"}},{"before":"40b54581ee52ff2ecbb6b34cd6053c7a84cceae7","after":"103824e6a0506119206ebcc0df1a2e954831102e","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:26:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"No for real safely create a project","shortMessageHtmlLink":"No for real safely create a project"}},{"before":"3d3a331280947395846aec1cee0309bdb7e46f36","after":"40b54581ee52ff2ecbb6b34cd6053c7a84cceae7","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:24:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Unify the logic around safely getting or creating a project in a collection","shortMessageHtmlLink":"Unify the logic around safely getting or creating a project in a coll…"}},{"before":"7c0050a6ee22af251cacfa068852d22b579b1b4e","after":"3d3a331280947395846aec1cee0309bdb7e46f36","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:19:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Dispose the per-request collections","shortMessageHtmlLink":"Dispose the per-request collections"}},{"before":"18fc3191ccf44abcd56e755544dd922dc9bba2e1","after":"7c0050a6ee22af251cacfa068852d22b579b1b4e","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:17:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Isolate loaded projects to a unique collection per-load-request to prevent stale data","shortMessageHtmlLink":"Isolate loaded projects to a unique collection per-load-request to pr…"}},{"before":"ed44872a770715a6cae3aa0614d90cd562d2bfed","after":"18fc3191ccf44abcd56e755544dd922dc9bba2e1","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-21T00:07:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Get loading missing Imports working for both loaders","shortMessageHtmlLink":"Get loading missing Imports working for both loaders"}},{"before":null,"after":"ed44872a770715a6cae3aa0614d90cd562d2bfed","ref":"refs/heads/support-projects-with-missing-imports","pushedAt":"2024-04-17T17:19:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Allow loading of projects that are missing imports.","shortMessageHtmlLink":"Allow loading of projects that are missing imports."}},{"before":null,"after":"96e9fb4c0acde726da47b0624e24053d97d60f7e","ref":"refs/heads/support-traversal-projects","pushedAt":"2024-04-17T04:32:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Basic traversal project support in the standard WorkspaceLoader","shortMessageHtmlLink":"Basic traversal project support in the standard WorkspaceLoader"}},{"before":"cf92d27053d6019122179021b32ec6d2247574df","after":null,"ref":"refs/heads/make-usable-with-single-file","pushedAt":"2024-04-01T00:54:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"}},{"before":"2a44d6bc0f60c7b04be15743ef874d9fc25d09ef","after":"6fe2b3bf85f20b29a00e8c59700f3f78c87416fb","ref":"refs/heads/main","pushedAt":"2024-04-01T00:53:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"TheAngryByrd","name":"Jimmy Byrd","path":"/TheAngryByrd","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1490044?s=80&v=4"},"commit":{"message":"Remove some uses of Assembly.Location and other methods that just don't work when this library is used in a self-contained application","shortMessageHtmlLink":"Remove some uses of Assembly.Location and other methods that just don…"}},{"before":null,"after":"cf92d27053d6019122179021b32ec6d2247574df","ref":"refs/heads/make-usable-with-single-file","pushedAt":"2024-03-31T22:54:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Remove some uses of Assembly.Location and other methods that just don't work when this library is used in a self-contained application","shortMessageHtmlLink":"Remove some uses of Assembly.Location and other methods that just don…"}},{"before":"f43f28a33148c25abcdeff856425495a008f0a8f","after":null,"ref":"refs/heads/support-reference-assemblies","pushedAt":"2024-02-06T14:39:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"}},{"before":"4dcb3a6b7f878e3fe8d9d9635075e60242888810","after":"2a44d6bc0f60c7b04be15743ef874d9fc25d09ef","ref":"refs/heads/main","pushedAt":"2024-02-06T14:39:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"Add support for reference assemblies to ProjInfo (#200)\n\n* Add support for reference assemblies to the core project data model\r\n\r\n* flow through target ref path resolution logic in the ProjInfo.FCS layer\r\n\r\n* add test to verify reference assembly support","shortMessageHtmlLink":"Add support for reference assemblies to ProjInfo (#200)"}},{"before":"d459c986737c8d679dad950d490c968f29691864","after":"f43f28a33148c25abcdeff856425495a008f0a8f","ref":"refs/heads/support-reference-assemblies","pushedAt":"2024-02-06T14:32:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"add test to verify reference assembly support","shortMessageHtmlLink":"add test to verify reference assembly support"}},{"before":"b94bb28a3c6f3714f088ef38443cb25f020c9b1b","after":"d459c986737c8d679dad950d490c968f29691864","ref":"refs/heads/support-reference-assemblies","pushedAt":"2024-02-06T04:04:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"baronfel","name":"Chet Husk","path":"/baronfel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/573979?s=80&v=4"},"commit":{"message":"add test to verify reference assembly support","shortMessageHtmlLink":"add test to verify reference assembly support"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEStNzdQA","startCursor":null,"endCursor":null}},"title":"Activity · ionide/proj-info"}