Showing failures and log info in config flow; Fixing 'cloudpc-app' popup#181
Showing failures and log info in config flow; Fixing 'cloudpc-app' popup#181
Conversation
| @@ -685,11 +698,12 @@ public IAsyncOperation<ComputeSystemOperationResult> DoPinActionAsync(string loc | |||
| { | |||
There was a problem hiding this comment.
I don't understand, how is DevHome calling these functions if GetOperations() within this file doesn't return PinToStartMenu and PinToTaskbar? From reading the code it seems to me like they should be blocked from getting called from DevHome? What am I missing?
There was a problem hiding this comment.
GetIsPinnedToStartMenuAsync() is the function that gets called. Does that make sense?
There was a problem hiding this comment.
@safmswork I believe its due to the GetPinStatusAsync method call. In that method we still call into the WindowsApp protocol launch here:
**Edit: Oh misunderstood what you meant, but I see what you mean, we have a check in Dev Home which should prevent these calls. Perhaps there is something going on where users have multiple azure extensions installed? **
There was a problem hiding this comment.
Right, but who calls GetPinStatusAsync? The only one is GetIsPinnedToStartMenuAsync and GetIsPinnedToTaskbarAsync . And Devhome only calls those if:
if (supportedOperations.HasFlag(ComputeSystemOperations.PinToTaskbar))
There was a problem hiding this comment.
Hmm I guess we need to confirm if the versioning method is returning the correct value. Assuming Huzaifa and Kevin don't have a version that should support pinning. Then they will have the pinning operations. Which would then make GetPinStatusAsync and the other methods callable from Dev Home. Which would lead to the computer not being able to protocol launch this:
So we just need to get what version of Windows app they're using
There was a problem hiding this comment.
Maybe that's it, maybe the WindowsApp version that I hardcoded into MinimumWindowsAppVersion is wrong somehow. @huzaifa-d what version of WindowsApp did you get the repro on?
There was a problem hiding this comment.
Spoke to Safet offline, issue is Dev Home related where we call https://github.com/microsoft/devhome/blob/4b071cfe01b78af6e6ec8a711b796a189f53298b/tools/Environments/DevHome.Environments/ViewModels/ComputeSystemViewModel.cs#L189
which leads us to call:
and
without checking the enum flags. I'll update it in my PR in dev home
There was a problem hiding this comment.
Do we still want to check in this change? Thoughts?
There was a problem hiding this comment.
Hey yea I think its fine, to have the extra check, just for safety now that we have found the issue to be a dev home issue and not really an azure extension issue. So I think this is ok.
There was a problem hiding this comment.
General note: while we can check the enum flag in Dev Home there are always races that can happen due to multi-leg cross-process communication. We can get a flag saying that some operation is supported at the time of the check, but by the time of the next call to the extension the operation may not be supported anymore. So, both sides should handle this situation gracefully and not blame the other side that the call should never happen or that the operation status was reported incorrectly.
Co-authored-by: sshilov7 <51001703+sshilov7@users.noreply.github.com>
Summary of the issues
Detailed description of the pull request / Additional comments
Validation steps performed
Tested the configuration flow on various Dev Boxes
PR checklist