Fenix: FNX3-16655 ⁃ Sign in and managing account settings

Created on 29 Jan 2019  ·  22Comments  ·  Source: mozilla-mobile/fenix

Design

User stories:

  • As a user, I want to be notified if there was something wrong with the sync (screen and [screen|url)
    ==> addressed in #3523
  • As a user, when sync issues occur, I want an option to re-connect/login or remove my account to prevent any further warnings to pop up (screen)
    ==> addressed in #3946
  • As a user, I want to option to disconnect my account from the device but want to be made aware of what that means for my data across other devices (screen)
    ==> addressed in #3134

Acceptance Criteria

  • I can update their account settings and it persists (across devices)
  • I know if/when if I am successfully logged in or out
  • I can see any issues or warnings if sync failed

Requirements

  • Handle logic for updating [initial settings page|#288] if logged in
  • Handle sign in logic from initial settings page
  • Create logic for managing account
  • Create UI for managing account
Sync ac 🙅 waiting

All 22 comments

@bbinto I recommend we move this out of the milestone 2 backlog, and instead tie it to whatever milestone https://github.com/mozilla-mobile/fenix/issues/212 will be in.

@ryanfeeley can eng get started on this task in this sprint?

@lime124 will share mocks with team for feedback

@vesta0 shared with colin earlier today and i believe he's scheduling some time to review it tomorrow. i will post the UI in the ux issue.

I think we need to get a size estimate on this, @vesta0.

@bbinto please confirm user stories and acceptance criteria reflects what we are doing in MVP and open issue to cover Sync error pages

@ryanfeeley what will "Manage account" do? https://mozilla.invisionapp.com/share/QSR2F8UD4PN#/screens/357473544 - do we have UI for this?

@vesta0 - updated according to latest screens.

@bbinto @sblatz Manage account does what it does on every Firefox, it opens accounts.firefox.com/settings in a tab (or WebView, your choice for MVP), though there are some special parameters you will want to pass. @shane-tomlinson can provide those.

edit: see Vlad's response below, what is true for fennec probably won't be true for Fenix, sorry!

So currently on Fennec the equivalent UI will open about:accounts?action=manage which displays a uri that is built using this https://searchfox.org/mozilla-central/source/mobile/android/chrome/content/aboutAccounts.js#181

I believe that will translate to https://accounts.firefox.com/settings?service=sync&context=fx_fennec_v1

furthermore, although we don't do it currently for fennec, we should be appending an entrypoint parameter that would tell us where the user entered from (for metrics purposes), e.g:

https://accounts.firefox.com/settings?service=sync&context=fx_fennec_v1&entrypoint=sync-settings

however, @shane-tomlinson or @vladikoff should weigh in to confirm all this (is the context parameter value staying the same for Fenix, for example? are there are other parameters that we need to handle the case of Fenix specifically?)

@irrationalagent Hm short answer would probably be - nothing is staying the same as Fennec. Fenix is using an OAuth flow for login. For manage account, I don't think we have anything setup yet from the UI. Once we have a "Manage Account" button we can add an entrypoint parameter to it.

@sblatz I didn't think device name was in for MVP, but was imagining we use standard Android.
image

@ryanfeeley @vladikoff -
ok, so to recap, we can and should include "Manage Account" in MVP.

@ryanfeeley - what source do you reference that device name change is out of MVP?

@sblatz - can you please let us know if you are blocked/any further information you need?

The FxA component should provide a method to call to get the "manage account" URL, rather than requiring the application to construct it by hand, ref https://github.com/mozilla/application-services/issues/750

@ryanfeeley - what source do you reference that device name change is out of MVP?

The first reference I've seen to device renaming was just added to this issue a few days ago.

Our other mobile apps lacked this feature for a very long time, so I would not prioritize it highly.

That said, above is a solution that can work if you choose to include device renaming.

@ryanfeeley can you give me an update on this? Do we need a decision to be made?

@bifleming This is not my call, but as I stated above, I can't imagine device renaming is an MVP feature.

Device renaming is currently blocked by https://github.com/mozilla-mobile/android-components/pull/2670, which is going to land in the next few days. I just filed an issue to integrate device management URLs in a-c: https://github.com/mozilla-mobile/android-components/issues/2824

We might need a separate bug for this, but as a first step we should prioritize and build the UI from @ryanfeeley soon:

(https://mozilla.invisionapp.com/share/QSR2F8UD4PN#/screens/357470305) cc @st3fan

@grigoryk is this still blocked?

More things we need for a complete sync manager experience:

  • New UI for signing in to emphasize pairing.
  • "Choose what to sync" (mozilla-mobile/android-components#1584)

Addressed in separate issues (see edited description)

Was this page helpful?
0 / 5 - 0 ratings