Closed Bug 1571535 Opened 2 years ago Closed 2 months ago

Ship webcompat via normandy?

Categories

(Web Compatibility :: Interventions, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: aswan, Unassigned)

References

(Blocks 1 open bug)

Details

I'd like to transform bug 1357205 into a project to just get rid of system add-ons entirely. As I understand it, webcompat is the one system addon that we regularly ship out-of-cycle updates to. Just to kick off discussion here, would it be possible to start shipping webcompat via Normandy instead of as a system addon?

The first question (for mythmon) is simply whether Normandy can do this, it would need to install the desktop webcompat extension for every desktop user and likewise for mobile. If we were to do this, how would the process be different from today for Tom and the webcompat team?

Finally, for Tom: one important difference with today would be that a user creating a brand new profile wouldn't have any webcompat extension installed until Normandy gets a chance to initialize, check in, and download and install the extension. I think we actually have a related issue today where the default copy of the extension is at least 6 weeks out of date for release users so they don't get all the current interventions until a system addon udpate check happens. I guess the question is, is this serious enough that we would want to figure out a way to mimic today's behavior (ie, always ship some set of interventions that will be active before we're able to download the current extension)

Flags: needinfo?(twisniewski)
Flags: needinfo?(mcooper)

I think we actually have a related issue today where the default copy of the extension is at least 6 weeks out of date for release users so they don't get all the current interventions until a system addon udpate check happens.

One thing I quickly want to add here: That's not entirely true. Whenever we have interventions important enough to qualify for a rollout via Balrog, we also uplift those set into mozilla-release, for example in bug 1568636. So when there is a dot-release, our changes ship with that.

The first question (for mythmon) is simply whether Normandy can do this, it would need to install the desktop webcompat extension for every desktop user and likewise for mobile. If we were to do this, how would the process be different from today for Tom and the webcompat team?

In short, Normandy can't do this (yet). Normandy can currently only install extensions experimental use cases. In bug 1436111 we're working on adding in the capability to install extensions for permanent, non-experimental use cases. I expect this will be done sometime in the next few months. Once this is finished, I expect that webcompat would be a good use case for the feature.

Further, Normandy does not exist on mobile at all, and can't do anything there. I think it may be possible to enable Normandy on Fennec, but I'm not entirely sure yet. There may be dragons hiding that we don't yet know about. This is not a high priority for my team at this time.

As for how the process would be different, I'm not sure for two reasons: I don't know much about the existing Balrog process, and the equivalent Normandy process doesn't exist. That being said, I expect the process to be about the same, or slightly easier.

Flags: needinfo?(mcooper)

It's also worth highlighting that when Fennec goes away, the plan for Fenix is to ship updates via Google Play store. Not sure if we need a more general GeckoView solution for other products though.

Sorry for the delay.

is this serious enough that we would want to figure out a way to mimic today's behavior (ie, always ship some set of interventions that will be active before we're able to download the current extension)

I think we'll have to do this for existing system addons that expose features, no? Like PDFJS, Screenshots, and Form Futofill? Report Site Issue? Otherwise users will wonder why they don't have those features on their fresh installs, if even for a few minutes.

So if we're going to do that, then yes: we might as well also do the same for the webcompat addon. There always seems to be a bank site or two which needs the addon to work properly, after all.

Otherwise, Fennec is my main concern. But if Normandy can be enabled for it before we change over (or Fennec is gone before then), I think we'll be fine.

Flags: needinfo?(twisniewski)

Given that bug 1436111 is resolved, it seems like it is now feasible to:

  • stop shipping webcompat as a system add-on and making the default version a built-in addon, then:
  • shipping any webcompat hotfixes as normandy rollouts

MIke/Michael, do you see any issues with this? I'd be happy to do the client-side patches needed for this but there's obviously a bunch of work that would need to happen on the deployment side that I think is going to require moco employees to carry out...

Depends on: 1436111
Flags: needinfo?(miket)
Flags: needinfo?(mcooper)
Blocks: 1357205

I don't have any concerns, as long as we understand the process for shipping new versions. :)

Flags: needinfo?(miket)

Sorry for the very late response. This is a straight forward use of Normandy's Add-on Rollout system, which was intended as a direct replacement for Balrog's system add-ons. The processes for how to propose and get approval for these updates is under developed, but especially updates to existing long running add-on should be an easy thing to do.

Flags: needinfo?(mcooper)

Normandy is no longer really a thing, and the new workflow via the mozilla-extensions repo is documented. Let's close this as wontfix.

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.