Skip to content
This repository has been archived by the owner on Apr 27, 2023. It is now read-only.

Uninstalling the core add-on doesn't uninstall study add-ons and causes confusing UX #635

Open
jonathanmayer opened this issue Jun 1, 2021 · 4 comments

Comments

@jonathanmayer
Copy link

If you uninstall the Rally core add-on, there's a data deletion ping to the Telemetry backend, but study add-ons remain installed. That might confuse users, especially since the Rally support library continues to automatically open the "Hold up. You're missing the Rally add-on!" page on browser startup. A possible fix would be for the Rally support library to add a browser.management.onUninstalled listener, and if the core add-on is uninstalled, treat that as if the core add-on had sent an uninstall message to the study add-on.

case "uninstall":

@hamilton
Copy link
Contributor

hamilton commented Jun 1, 2021

@jonathanmayer Thanks for reporting. When you say "uninstall the Rally core add-on" do you mean through the core add-on options page or manually? In the former case, it should uninstall all studies.

@jonathanmayer
Copy link
Author

Manually uninstalling on about:addons. Leaving Rally from the options page works fine.

@rhelmer
Copy link
Contributor

rhelmer commented Jun 1, 2021

If you uninstall the Rally core add-on, there's a data deletion ping to the Telemetry backend, but study add-ons remain installed. That might confuse users, especially since the Rally support library continues to automatically open the "Hold up. You're missing the Rally add-on!" page on browser startup. A possible fix would be for the Rally support library to add a browser.management.onUninstalled listener, and if the core add-on is uninstalled, treat that as if the core add-on had sent an uninstall message to the study add-on.

case "uninstall":

Yes I believe this would work, but it would require studies to have the management permission. I don't think that's a deal-breaker necessarily, we just try to use the minimal permissions necessary.

@jonathanmayer
Copy link
Author

jonathanmayer commented Jun 1, 2021

A couple other approaches come to mind.

  • Poll install state with messages between add-ons. For example, on startup, the Rally support library could send a message to the core add-on. If the core add-on doesn't correctly respond (maybe with a little retrying to account for add-on startup sequencing and upgrading), assume the core add-on is gone and uninstall. The Rally support library already does a simple version of this, which is what triggers the "Hold up. You're missing the Rally add-on!" page.
  • Push install state with a Port between add-ons. For example, on startup, the Rally support library could open a Port to the core add-on. If the Port errors out, that's an indication that the core add-on might be gone.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants