Metamask requires pinging accounts regularly to fetch the latest address from the extension. uPort on the other hand uses getAccounts() to fire the QR code. This is slightly incompatible as uPort would more likely have one "sign in" action vs potentially "many" from Metamask.
Thus, if using uPort, the sign in should happen and then address locally stored.
If the provider is uPort -> get address from local storage -> otherwise use getAccounts() when sending a tx.
Metamask requires pinging accounts regularly to fetch the latest address from the extension. uPort on the other hand uses getAccounts() to fire the QR code. This is slightly incompatible as uPort would more likely have one "sign in" action vs potentially "many" from Metamask.
Thus, if using uPort, the sign in should happen and then address locally stored.
If the provider is uPort -> get address from local storage -> otherwise use getAccounts() when sending a tx.