[Core / Dev Environments] Dev Home see the same COM class Ids in separate packages as separate extensions resulting in duplicate requests to the extensions #2451
Labels
Area-Core
Related to Dev Home as a whole 🏠
Issue-Bug
Something isn't working or needs investigation
Priority-1
Resolution-Fix-Available
Available in a release
Milestone
Dev Home version
No response
Windows build number
No response
Other software
No response
Steps to reproduce the bug
If you already have Hyper-V VMs created you should see this repo by just doing step 1 and step 4
Note: I mention environments but this is a Dev Home CORE issue itself, as Dev Home uses COM class Ids to identify Dev Home extensions. If the same class Id is in the package.appxmanifest file of multiple packages, Dev Home sees these two packages as separate extensions, but COM will only spin up one out of proc COM server. I'm not sure which server is selected at that point, but since Dev Home sees it as two separate extensions, any request to providers those extensions support is done once for each package. To COM, this means the extensions COM server receives one request for each package that has its class Id as a Dev Home extension. So, in the case of Environments, The Hyper-V extension's class Id is the same across Dev Home build rings and because of the above, it receives two requests for compute systems (VMs) from Dev Home when multiple Dev Home packages are installed.
This also means that if you have multiple Azure extension packages (Dev, Canary, preview) installed, you'd receive duplicated Dev Boxes for example.
Expected result
Only one package is mapped to an extension class Id. Dev Home handles allowing the user to select the extension they want to use if necessary (I don't know if that part would be a feature request). But overall, only one request per extension should be made for a single COM class Id.
In the environment's scenario, the user should receive only a single response when we query for computes systems from an extension.
Actual result
If you follow the repo steps You'll noticed you'll see the VM duplicated twice when you navigate to the environments page and it loads.
Included System Information
No response
Included Extensions Information
No response
The text was updated successfully, but these errors were encountered: