Update the Firefox Account menu
Categories
(Firefox :: Menus, enhancement, P1)
Tracking
()
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)
(deleted),
text/x-phabricator-request
|
Details |
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:
- Remove the "Firefox Services" subsection and its contents.
- Remove the "Logins and Passwords" entry.
- Change the order of what goes into
fxa-menu-header-title
andfxa-menu-header-description
. So thefxa-menu-header-description
should be the email address / name of the user account, and the thefxa-menu-header-title
should be "Account Settings" (but also see next bullet) - Update the "Account Settings" string to be "Manage Account"
- Remove the user account icon (
fxa-menu-avatar
) from thefxa-manage-account-button
toolbarbutton. - Update the "Last synced" string as described above, including the icon.
- Otherwise reorganize the menuitems in the panel as described above.
- 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.
Reporter | ||
Comment 1•4 years ago
|
||
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.
Reporter | ||
Comment 2•4 years ago
|
||
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.
Reporter | ||
Comment 3•4 years ago
|
||
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.
Reporter | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 5•4 years ago
|
||
Reporter | ||
Comment 6•4 years ago
|
||
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.
Reporter | ||
Comment 8•4 years ago
|
||
The requirements for the menuitem for accessing the Firefox Accounts menu from the AppMenu can be found in bug 1690388 comment 0.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Reporter | ||
Comment 9•4 years ago
|
||
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?
Assignee | ||
Comment 10•4 years ago
|
||
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
Assignee | ||
Comment 11•4 years ago
|
||
Assignee | ||
Comment 12•4 years ago
|
||
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.
Comment 13•4 years ago
|
||
(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.
Assignee | ||
Comment 14•4 years ago
|
||
A few updates from product/UX:
- These changes can ride ahead of proton, so we will no longer need to branch out into separate panels
- "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"
Reporter | ||
Updated•4 years ago
|
Updated•4 years ago
|
Reporter | ||
Comment 15•4 years ago
|
||
Updated•4 years ago
|
Comment 16•4 years ago
|
||
Comment 17•4 years ago
|
||
bugherder |
Comment 18•3 years ago
|
||
Verified - Fixed in latest Fx 88.0.1, Fx 89.0b10 and Nightly 90.0a1 using Windows 10, Ubuntu 20.04 and MacOS 11.
Updated•3 years ago
|
Updated•2 years ago
|
Description
•