Closed Bug 988437 Opened 6 years ago Closed 6 years ago

Make Firefox Account Android account type unique per package

Categories

(Firefox for Android :: Android Sync, defect, P1)

All
Android
defect

Tracking

()

RESOLVED FIXED
Tracking Status
fennec 29+ ---

People

(Reporter: nalexander, Assigned: nalexander)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

Sync 1.1 accounts were "bucketed" so that the following sets of Android packages shared an Android account type:

{release, beta}, {aurora, nightly}, {custom_a}, {custom_b}, etc.

There were two things motivating this choice:

1) Setting up Sync was hard;
2) as Fennec rode the trains, there was no Release, and we didn't want users to deal with setting up Sync on Beta, migrate to Release, and set up Sync again.

With the new Firefox Accounts + Sync 1.5 set-up, point 1) is no longer a problem.  At this time, point 2) is probably working against us: the cost of only needing to set up FxA once is that syncing *both* Release and Beta is not well supported.

The additional complexity of managing a Firefox Account has made sharing the account type between packages unwieldy, so we're going to transition to a straight mapping from package name to account type.

This ticket tracks that work.
Assignee: nobody → nalexander
Priority: -- → P1
This really ought to go out in 29.
Status: NEW → ASSIGNED
tracking-fennec: --- → 29+
elan: this should track 29.  We're pushing this to Beta because we don't currently have FxA on release, so we greatly reduce any chance of busting people.

sylvestre: keeping you in the loop.  This plan looks scary, and technically it's involved, but the absolute worst that can happen is that folks lose their Sync account and have to create a new one.  We don't expect that to happen to anybody.

My tentative plan, open to negotiation, is the following:

1) Land Bug 957894 on Nightly.

2) Manually verify that ticket is writing the marker files that we'll use for migration.

3) Uplift Bug 957894 all the way to Beta.  It needs to land on Beta at least one update before this lands on Beta.

4) Manually verify that Bug 957894 is writing the marker correctly on Beta.

5) Land this ticket, Bug 988437, on Nightly.

6) Manually verify that the transition is working for Nightly accounts.

7) Uplift this ticket all the way to Beta.

8) Manually verify that the transition is working for Beta accounts.

7) Celebrate our technical freedom!
> 8) Manually verify that the transition is working for Beta accounts.
> 
> 7) Celebrate our technical freedom!

The cognoscenti will recognize that 7 does not follow 8.  We will also celebrate our technical correctness!
Blocks: 988524
Depends on: 988545
Blocks: 988545
No longer depends on: 988545
(In reply to Nick Alexander :nalexander from comment #2)
> elan: this should track 29.  We're pushing this to Beta because we don't
> currently have FxA on release, so we greatly reduce any chance of busting
> people.
> 
> sylvestre: keeping you in the loop.  This plan looks scary, and technically
> it's involved, but the absolute worst that can happen is that folks lose
> their Sync account and have to create a new one.  We don't expect that to
> happen to anybody.
> 
> My tentative plan, open to negotiation, is the following:
> 
> 1) Land Bug 957894 on Nightly.
> 
> 2) Manually verify that ticket is writing the marker files that we'll use
> for migration.
> 
> 3) Uplift Bug 957894 all the way to Beta.  It needs to land on Beta at least
> one update before this lands on Beta.
> 
> 4) Manually verify that Bug 957894 is writing the marker correctly on Beta.

Manually verified that the marker is correctly written on Aurora, 30.0a2 (2014-04-01).  I'm confident it'll be written on beta as well.
This bumps every package's account type so that any issues shake out on
Nightly (which otherwise would not have experienced an account type
change).
Attachment #8400211 - Flags: review?(rnewman)
Attachment #8400210 - Flags: review?(rnewman) → review+
Comment on attachment 8400211 [details] [diff] [review]
Part 2: Make Firefox Account Android account type unique per package. r=rnewman

Review of attachment 8400211 [details] [diff] [review]:
-----------------------------------------------------------------

Call me crazy for double-checking, but does this require a clobber?
Attachment #8400211 - Flags: review?(rnewman) → review+
Depends on: 993673
Per discussion in Bug 993673, this is good to uplift to Aurora and Beta now (with a=sylvestre from https://bugzilla.mozilla.org/show_bug.cgi?id=993673#c8).  Due to the staged releases, this should give us Aurora feedback soon enough to take action on Beta -- if any is needed.

(The only reason for the MoCo-private bug is that I wanted to discuss detailed numbers from the Google Play Store and am not always clear on what information is publicly available.  I'll look into making that ticket public shortly.)
(In reply to Nick Alexander :nalexander from comment #0)
> ... the cost of only needing to
> set up FxA once is that
> syncing *both* Release and Beta is not well supported.

I feel like repackaging this as a new bug,
but think I need someone to clarify/confirm here first.

Since ~1Q2012 I have on Android phone: Ff Beta and Ff Aurora.

I also have on Linux desktop and Android tablet: Ff Release.

I have kept all these updated, hoping for a "Mozilla approved":
- route to Back Up ("sync") the Android phone (both Ff Beta and Aurora)
- route to Back Up ("sync") the Android tablet (Ff Release)
- route to Replace Android phone Ff Beta and Aurora with Release
- route to Sync the resulting Android phone Ff Release
with Android tablet Ff Release and Linux desktop Ff Release.

Does FxA provide a way?

If not, it's a bug.

Thank you,
Eddie Maddox
Hi Eddie,

I'm having a hard time understanding what you want to do, so let's dig in together.

(In reply to Eddie Maddox from comment #13)
> (In reply to Nick Alexander :nalexander from comment #0)
> > ... the cost of only needing to
> > set up FxA once is that
> > syncing *both* Release and Beta is not well supported.

For the record, this is the old behaviour.  The new behaviour is that Android Release and Android Beta sync independently; the price is that you must configure FxA + Sync independently as well.  Since setting up an FxA account is easy, this is a small price to pay.  We should be clear that FxA (Desktop and Android) hasn't made it to release yet; that'll be at the end of the month (April 29 or so).

> I feel like repackaging this as a new bug,
> but think I need someone to clarify/confirm here first.
> 
> Since ~1Q2012 I have on Android phone: Ff Beta and Ff Aurora.
> 
> I also have on Linux desktop and Android tablet: Ff Release.
> 
> I have kept all these updated, hoping for a "Mozilla approved":
> - route to Back Up ("sync") the Android phone (both Ff Beta and Aurora)
> - route to Back Up ("sync") the Android tablet (Ff Release)
> - route to Replace Android phone Ff Beta and Aurora with Release
> - route to Sync the resulting Android phone Ff Release
> with Android tablet Ff Release and Linux desktop Ff Release.
> 
> Does FxA provide a way?

So you have some devices (phone/beta, phone/aurora, tablet/release, desktop/release).  All have valuable profile data, so you don't want to lose any of it.  At the end of the day, you want (phone/release, tablet/release, desktop/release).

As I said above, no Release versions support FxA yet, so you'll have to wait; but the following should work then:

1. Install/upgrade Firefox for Android to release (29) on your phone, tablet, desktop.
2. In phone/release, go to Settings > Sync > Sign up and create Firefox Account.
3. In phone/beta and phone/aurora, go to Settings > Sync > Sign in and use the Firefox Account you created.
4. Make sure those are all syncing.  You can force syncs in Android's Settings things.  You should see three different Firefox Accounts in Android (but they all have the same email address, so are communicating with the same Firefox Account id on the servers).
5. In desktop/release, Sign in to your Firefox Account.

That should have all the devices (5 versions!) syncing.

6.  Delete phone/beta and phone/aurora from your phone.  The data should be all in the Sync system by now (in fact, it'll already be in phone/release).

rnewman, have you anything add?
Flags: needinfo?(rnewman)
(In reply to Nick Alexander :nalexander from comment #14)

> rnewman, have you anything add?

Only to double check that all the data you want to keep is in phone/release prior to step 6.

And I recommend doing this on wifi.
Flags: needinfo?(rnewman)
Thanks, Nick!

Does it matter if:
- phone/release=29
- phone/beta=29B
- phone/aurora=30A?

Or must I update all to:
- phone/release=29
- phone/beta=30B
- phone/aurora=31A?

Thanks.
(In reply to Eddie Maddox from comment #16)
> Thanks, Nick!
> 
> Does it matter if:
> - phone/release=29
> - phone/beta=29B
> - phone/aurora=30A?
> 
> Or must I update all to:
> - phone/release=29
> - phone/beta=30B
> - phone/aurora=31A?

Since the changes in this bug are very recent, I'd update them all.  Sorry :(
(In reply to Nick Alexander :nalexander from comment #17)
> (In reply to Eddie Maddox from comment #16)
> > Thanks, Nick!
> > 
> > Does it matter if:
> > - phone/release=29
> > - phone/beta=29B
> > - phone/aurora=30A?
> > 
> > Or must I update all to:
> > - phone/release=29
> > - phone/beta=30B
> > - phone/aurora=31A?
> 
> Since the changes in this bug are very recent, I'd update them all.  Sorry :(

I have the latest 29B=15APR on both phone and desktop now.

I'll update phone/aurora to the latest before starting.

If that satisfies your concerns,
I'll try opening an account and syncing those bits tonight. OK?
Product: Android Background Services → Firefox for Android
You need to log in before you can comment on or make changes to this bug.