A lot of the power user confusion seems to come from the change to default profile behavior. We saw this with flod’s early foxfooding bug (essentially, “where did my profile go…what happened to my profiles.ini”), and I suspect it’s behind some of the power user frustration we’ve seen since the full rollout.
I wonder if we could revisit the product requirement that the default profile changes automatically to whatever profile was used last.
If we got rid of the “change default when app focus changes” requirement, we’d flush to profiles.ini much, much less often. And the profiles.ini entry for the group would only need to change if that profile were deleted and we needed to replace its path with a different profile in the group.
Since we default profiles users to see the profile selector at startup, maybe this would be good enough. (Or, if we take away the automatic default changing behavior, we might want to add support for the user to choose the default explicitly, which was already on the roadmap.)
A good first step might be to record errors to telemetry when we flush here, so we can see how often writing to profiles.ini currently fails. And, we could track whether the profiles with lots of errors tend to stop submitting data more than usual, which might (possibly) point to a lost profile after a filesystem error.