Panel or notification for first fxa-based sync

RESOLVED FIXED in mozilla29

Status

()

defect
RESOLVED FIXED
5 years ago
7 months ago

People

(Reporter: markh, Assigned: ttaubert)

Tracking

unspecified
mozilla29
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qa+])

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

5 years ago
The current mockups for fxa-based sync calls for a panel anchored to the hamburger as soon as you sign in to Firefox Accounts and sync starts.  The wording is something like:  "Your browser will now being syncing all your stuff", with a progress indicator and a "customize" button, which displays sync options.

On one hand, it might be possible to defer this until post-29 - no such panel exists currently.  On the other hand, the current mockups for the new signup flows do *not* show the sync options by default - it just starts syncing - so this might be the only user-visible way to configure sync.  On the third hand, this panel is transient (as is the nature of panels) and presumably will not be shown every time we sync, so relying on this as the main entry-point to sync options doesn't seem sensible.

This needs more thought.
Some discussion about this here ("Walkthru of FxA/Sync Account Creation"):
https://mail.mozilla.org/pipermail/sync-dev/2014-January/thread.html#645
Whiteboard: [qa+]
(Reporter)

Comment 3

5 years ago
Tim's happy to take this
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Sorry for the OSX-only CSS, it's late...
Attachment #8364083 - Flags: feedback?(mhammond)
(Reporter)

Comment 5

5 years ago
Comment on attachment 8364083 [details] [diff] [review]
0006-Bug-957436-Show-doorhanger-for-first-fxa-based-sync.patch

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

::: browser/base/content/browser-fxaccounts.js
@@ +35,5 @@
>      }
>    },
>  
> +  observe: function (subject, topic) {
> +    if (topic == "fxaccounts:onverified") {

A problem here might be that a user might sign in and be verified even though it is not their first-time sync.  Seeing it's not clear what we do in this case, I think we can ignore that for now and fix that later if necessary.

Also, this will need retesting now that bug 952063 has landed.

Also also: The UX flows call for a modal dialog to (optionally) be displayed after initial signin, which displays sync prefs and prevents sync from actually synching until it is dismissed.  Sadly that patch hasn't been written yet, but I'm fairly sure that this panel will only be displayed *after* that dialog has been dismissed.  So the condition of when we display the panel will probably need to be tweaked (eg, I'm thinking that if that dialog is to be shown, we will temporarily disable sync until it is dismissed - so this condition will probably need to include something like "is sync configured and enabled"

::: browser/base/content/browser.css
@@ +894,5 @@
>    transition-duration: 1ms;
>    transition-timing-function: linear;
>  }
>  
> +

3 blank lines seems overkill?

::: services/fxaccounts/FxAccounts.jsm
@@ +394,5 @@
>                data.verified = true;
>                return this.setUserAccountData(data);
>              })
>              .then((data) => {
> +              // Notify everyone that the user is now verified.

bug 952063 is going to obsolete this change and the one in FxAccountsCommon.js
Attachment #8364083 - Flags: feedback?(mhammond) → feedback+
(In reply to Mark Hammond [:markh] from comment #5)
> > +  observe: function (subject, topic) {
> > +    if (topic == "fxaccounts:onverified") {
> 
> A problem here might be that a user might sign in and be verified even
> though it is not their first-time sync.  Seeing it's not clear what we do in
> this case, I think we can ignore that for now and fix that later if
> necessary.

With the changes from bug 952063, onverified is only sent when the keys have been fetched and unwrapped which should only happen once, right?

> Also, this will need retesting now that bug 952063 has landed.

Re-tested :)

> Also also: The UX flows call for a modal dialog to (optionally) be displayed
> after initial signin, which displays sync prefs and prevents sync from
> actually synching until it is dismissed.  Sadly that patch hasn't been
> written yet, but I'm fairly sure that this panel will only be displayed
> *after* that dialog has been dismissed.  So the condition of when we display
> the panel will probably need to be tweaked (eg, I'm thinking that if that
> dialog is to be shown, we will temporarily disable sync until it is
> dismissed - so this condition will probably need to include something like
> "is sync configured and enabled"

AFAIU the UX flow we only show the doorhanger if the user did not tick off "customize sync" when registering. If they chose to customize they are going to see a modal dialog with all the sync options. So they either see on or the other, no?

> >              .then((data) => {
> > +              // Notify everyone that the user is now verified.
> 
> bug 952063 is going to obsolete this change and the one in
> FxAccountsCommon.js

Indeed, removed those changes.
Attachment #8364083 - Attachment is obsolete: true
Attachment #8364672 - Flags: review?(mhammond)
(Reporter)

Updated

5 years ago
Attachment #8364672 - Flags: review?(mhammond) → review+
Pushed a follow-up to fix leaks on Linux. Turns out .uninit() can be called without .init() ever being called when a window is opened and closed really quickly.

https://hg.mozilla.org/integration/fx-team/rev/de3521df8d43
https://hg.mozilla.org/mozilla-central/rev/45f1ee0a3a1c
https://hg.mozilla.org/mozilla-central/rev/de3521df8d43
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
Component: Firefox Sync: UI → Sync
Product: Cloud Services → Firefox
You need to log in before you can comment on or make changes to this bug.