[Meta] Get the last stable version of the Hello beta add-on downloaded and installed automatically

RESOLVED INVALID

Status

P1
normal
Rank:
10
RESOLVED INVALID
3 years ago
3 years ago

People

(Reporter: RT, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [add-on])

User Story

As a desktop client user, I want to upgrade to the last stable version of the Beta add-on even before starting to use Hello.

Acceptance criteria:
- For users of browsers with supported locales (en-us, de, fr, pt-br, es-es, ru-ru, zh-cn, pl, it-it, ja, nl, tr-tr, cs), when a user (who is running the Hello system add-on which has ridden the trains) opens the Hello panel, he sees the panel FTU (bug 1219158) where the button is greyed out and says "Updating" with a spinning wheel.
--- As the update (download and installation of the last stable version of the beta add-on) completes, the button turns blue with the string "See how it works".
--- Clicking "See how it works" takes the user to the room list panel.
--- The beta add-on auto updates when newer versions of the beta add-on are available without users noticing
--- The user can go to about:addons to uninstall the Hello beta add-on (the system add-on remains installed)

- Users of browsers without supported locales keep current behavior (no add-on installed automatically), the user can select to install the beta add-on manually through AMO

Attachments

(4 attachments, 1 obsolete attachment)

Comment hidden (empty)
(Reporter)

Updated

3 years ago
User Story: (updated)
Depends on: 1227614
(Reporter)

Updated

3 years ago
Summary: Get last stable version of the Hello downloaded and installed automatically → [Meta] Get the last stable version of the Hello beta add-on downloaded and installed automatically
Created attachment 8693076 [details]
Hello Update State Panels
(Reporter)

Updated

3 years ago
User Story: (updated)
Depends on: 1219158
(Reporter)

Updated

3 years ago
User Story: (updated)
(Reporter)

Updated

3 years ago
Rank: 10
Priority: -- → P1

Updated

3 years ago
Whiteboard: [add-on]
(Reporter)

Updated

3 years ago
User Story: (updated)
Assignee: nobody → dcritchley
(Reporter)

Comment 2

3 years ago
Created attachment 8694187 [details]
Hello Update State Panels v2.png

Same as Sevaan's previous version without the 3rd view with is not necessary given there does not need to be UX to support the scenario where the add-on auto updates.
Attachment #8693076 - Attachment is obsolete: true
(Reporter)

Updated

3 years ago
User Story: (updated)
(Reporter)

Updated

3 years ago
User Story: (updated)
Was pointed to WebIDE by the devtools team, which appears to have the functionality we are looking for. Looking at the code, we likely want to copy how the WebIDE manages the ADB Helper (xpi) addon.

https://dxr.mozilla.org/mozilla-central/source/devtools/client/webide

The WebIDE utilizes the AddonManager:
https://dxr.mozilla.org/mozilla-central/source/toolkit/mozapps/extensions/AddonManager.jsm
to install and manage the ADBHelper addon
https://dxr.mozilla.org/mozilla-central/source/devtools/client/webide/modules/addons.js

It, also, appears from the code, that using the AddonManager requires "chrome" privileges, lines 5,7 in addons.js

Here's the install and uninstall function snippets from addons.js:
install: function() {
    AddonManager.getAddonByID(this.addonID, (addon) => {
      if (addon && !addon.userDisabled) {
        this.status = "installed";
        return;
      }
      this.status = "preparing";
      if (addon && addon.userDisabled) {
        addon.userDisabled = false;
      } else {
        AddonManager.getInstallForURL(this.xpiLink, (install) => {
          install.addListener(this);
          install.install();
        }, "application/x-xpinstall");
      }
    });
  },

  uninstall: function() {
    AddonManager.getAddonByID(this.addonID, (addon) => {
      addon.uninstall();
    });
  }

Likely will need more input from someone more familiar with the browser side of things.
Flags: needinfo?(standard8)
Flags: needinfo?(mdeboer)
Created attachment 8694484 [details]
Select WebIDE from Tools > Web Developer
Created attachment 8694486 [details]
Select Manage Extra Components from the Project menu
Created attachment 8694488 [details]
WebIDE Addon Manager interface
There are two general points I'd like to make:

1) I'm unaware that you can be assigned and work on a meta bug, or is it in fact not? If not, we should change the summary.
2) I think we ought to refrain from dividing the team in two camps, chrome and webby folks, and rely on each to pick things up where the other can't reach. I think that if we're looking for a PoC, anyone can and should be able to get started and cut 'n paste something together.

I think it's great that you reached out to these relevant people and gathered this information. Now it's time to move forward and create a simple-as-possible-perhaps-even-ugly PoC patch.
Flags: needinfo?(mdeboer)
(In reply to Mike de Boer [:mikedeboer] from comment #7)
> 1) I'm unaware that you can be assigned and work on a meta bug, or is it in
> fact not? If not, we should change the summary.

We discussed at standup and agreed to put the findings on the bug. We do have history of assigning to metas, and this is for doing breakdowns, which I think this what its picking up from.


Dave: as discussed yesterday, I think we should get you pairing with either Mike or Dan probably (if you haven't started already). I'd suggest doing the PoC work in a separate newly filed bug.
Flags: needinfo?(standard8)
Depends on: 1230236
The PoC was completed in bug 1230236. At the current time, its believed that we no longer need this as we'll be using the go faster mechanisms.

Therefore I'm marking as invalid for now. We can always re-open if we do need it later.
Assignee: dcritchley → nobody
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.