Closed Bug 1690131 Opened 3 years ago Closed 3 years ago

Update the Firefox Account menu

Categories

(Firefox :: Menus, enhancement, P1)

Desktop
All
enhancement

Tracking

()

VERIFIED FIXED
88 Branch
Tracking Status
firefox88 --- verified

People

(Reporter: mconley, Assigned: emmamalysz)

References

(Blocks 1 open bug)

Details

(Whiteboard: [proton-hamburger-menu])

Attachments

(1 file, 2 obsolete files)

This is something that can ship pre-Proton, so it can happen directly on PanelUI-fxa and its subviews here: https://searchfox.org/mozilla-central/rev/fd853f4aea89186efdb368e759a71b7a90c2b89c/browser/base/content/browser.xhtml#1460-1580

The Firefox Account menu has a few states (signed in not syncing, signed in syncing only one device, signed in syncing multiple devices). Notably absent is the "not signed in" state. This is because we aim to have this menu not accessible unless the user is signed in (see bug 1686521). I'm still trying to determine if bug 1686521 is able to ride out in advance or stay behind a Proton pref. If the latter, we might have to craft an interim "not signed in" state. If the former, then this work is kinda blocked on bug 1686521.

I'm going to list the composition of the menu in each of those states:

Signed in, but not syncing

Manage Account
[email address]
Turn On Syncing…
Connect Another Device…
Sync Settings
<separator>
Sign Out

Signed in, sync enabled, only 1 device connected

Manage Account
[email address]
Sync Now
<Last Synced String*>
Connect Another Device…
Sync Settings
<separator>
Sign Out

Signed in, sync enabled, 2+ devices connected

Manage Account
[email address]
Sync Now
<Last Synced String*>
Connect Another Device…
Send Tab to Device >
Sync Settings
<separator>
Sign Out
<separator>
[Name of synced device]
[List of up to X* synced URLs]
Show More Tabs    v <Hidden if list of URLs is less than X*>
[next device, etc]

* The <Last Synced String> is of the format "Last synced 2 hours ago", followed immediately by a small syncing icon. That icon should animate when syncing, but only if the user is not configured to suppress animations with prefers-reduced-motion.

* X is 5 if there are 2 or fewer listed evices. X is 3 if there are more than 2 listed devices.

* The "Show More Tabs" item, when clicked, should disappear, and be replaced the remaining items in the list. This can cause the panel to grow. If the panel reaches the edge of the screen, the list should become scrollable.

Things to do right off the bat:

  1. Remove the "Firefox Services" subsection and its contents.
  2. Remove the "Logins and Passwords" entry.
  3. Change the order of what goes into fxa-menu-header-title and fxa-menu-header-description. So the fxa-menu-header-description should be the email address / name of the user account, and the the fxa-menu-header-title should be "Account Settings" (but also see next bullet)
  4. Update the "Account Settings" string to be "Manage Account"
  5. Remove the user account icon (fxa-menu-avatar) from the fxa-manage-account-button toolbarbutton.
  6. Update the "Last synced" string as described above, including the icon.
  7. Otherwise reorganize the menuitems in the panel as described above.
  8. Add the "Synced tabs" subsection.

A note on strings: any strings involved that use "sync branding" for "Sync" should be replaced such that the word "sync" is inserted into the string instead. I started this in bug 1684950, so we should coordinate there a bit.

Remember when updating strings to ensure that they're not re-used elsewhere - if so, double-check that the propagated change is acceptable with UX, or create a new string just for the menu.

Also remember that if you're updating a string, you still have to update the ID of it so that our localizers know to re-translate.

Naturally, there might be one or more tests that will need to be updated due to these changes. browser_sync.js is definitely one of them. Make sure to push to try to try to find those.

A thing to be advised of, for whoever works on this: the "Send Tab To Device" is shared with context menus and the Page Action menu as well - be careful to ensure that those access points continue to work.

I'm working with clouserw to get connected with the code owner here - maybe they'd have time to help us with this, or maybe they can at least help with reviews / guidance. Let's leave this unassigned until I hear back from clouserw.

After consulting a bit with UX / Product, it seems that the behaviour in bug 1686521 is going to be held back as part of Proton, and won't ride ahead. Considering that that behaviour is necessary for the reorganization in comment 0 (since there's no defined "not signed in" state), this panel work should also be held behind a Proton pref.

This might mean then having a separate Proton Firefox Accounts panel until the ride out occurs.

Summary: Reorganize the Firefox Account menu → Add a new Proton-specific Firefox Account menu

Tentatively snacking on this one.

Assignee: nobody → mconley
Severity: -- → S3
Type: task → enhancement
OS: Unspecified → All
Priority: -- → P1
Hardware: Unspecified → Desktop

Posting this WIP as a starting point which allows us to fork the Firefox Account panel based on the state of browser.proton.appmenu.enabled. Unassigning myself because I have some planning stuff on the go, and I don't want to be the bottleneck.

Assignee: mconley → nobody

The requirements for the menuitem for accessing the Firefox Accounts menu from the AppMenu can be found in bug 1690388 comment 0.

Assignee: nobody → emalysz
Status: NEW → ASSIGNED

Hey emalysz, it's not clear to me if the button being added will switch back and forth between states if the user is signed in or out. If so, then for the signed out state, we're updating the item to say "Sync and Save Data" , followed by a "Sign In" button.

If the toolbarbutton menu item you're adding is only for the signed in state, and we're hiding it for the signed out state, then you can safely ignore this, and we should reopen bug 1690388 and update its comment 0.

Do you know if your patch is going to handle the signed-out state for the menu item, or should we re-open bug 1690388?

Flags: needinfo?(emalysz)

I was already handling the signed out state by just showing "Sign in to Firefox" without the subnavigator arrow, so I'll change that string and add a button!
Working out the kinks right now in my patch, but hoping to get this up for review later today

Flags: needinfo?(emalysz)
Blocks: 1693177

Hey markh, this is the last chunk missing from the proton app menu, and we're hoping to land this patch before soft freeze this week. Will you be able to take a look at my approach? I tried branching out the proton specific app menu to avoid breaking our current implementation.

Flags: needinfo?(markh)

(In reply to Emma Malysz from comment #12)

Hey markh, this is the last chunk missing from the proton app menu, and we're hoping to land this patch before soft freeze this week. Will you be able to take a look at my approach? I tried branching out the proton specific app menu to avoid breaking our current implementation.

Hey Emma,
I'm fine with that short-term duplication, but I made some other comments on the patch that aren't directly related to that. Feel free to hit me up on slack if you need more info.

Flags: needinfo?(markh)

A few updates from product/UX:

  1. These changes can ride ahead of proton, so we will no longer need to branch out into separate panels
  2. "Last synced now" should not display, and we match current behavior for the tooltip. This should instead read something like "Last synced 3 seconds ago"
Blocks: 1688960
Summary: Add a new Proton-specific Firefox Account menu → Update the Firefox Account menu
Attachment #9201498 - Attachment is obsolete: true
Blocks: 1693851
Attachment #9204314 - Attachment is obsolete: true
Pushed by mconley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/403ffdf9b6fb
create proton-specific fxa menu r=mconley,markh,fluent-reviewers,flod
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
Regressions: 1695518
Regressions: 1698024
Regressions: 1702461

Verified - Fixed in latest Fx 88.0.1, Fx 89.0b10 and Nightly 90.0a1 using Windows 10, Ubuntu 20.04 and MacOS 11.

Status: RESOLVED → VERIFIED
See Also: → 1805360
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: