There is no generic `compatInfo` anymore (see deleted lines above) -- that was part of #5640, the confusion over what `compatInfo` means when you're not looking at registry-specific info.

I believe we'd hit the `!entry.registryInfo` 'else' case here in several cases:
* You have an installed extension that's not listed in the registry (because it's a dev extension, someone manually handed you a ZIP, etc.) -- which includes as a sub-case legacy or dev extensions that lack package.json altogether
* You're offline, in which case all your installed extensions appear to fall into the previous category.

In all those cases you can only be looking at the "Installed" tab, and there can't be any updates available (`context.updateAvailable` is always false)... so I think all of the uses of these flags to set the other flags are moot.  I think now that I've changed the Mustache template to check `{{#showInstallButton}}` before looking at isCompatible, these could just as well be left false in this case too.  Which means I think I can take out the `else` block if you want.