It's possible to add more than one U1 account from system settings on the phone
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Online Accounts setup for Ubuntu Touch |
Fix Released
|
High
|
Alberto Mardegan | ||
ubuntuone-credentials |
Fix Released
|
Undecided
|
Alberto Mardegan | ||
accounts-qml-module (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
libaccounts-glib (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
libaccounts-qt (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
ubuntu-system-settings-online-accounts (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
ubuntuone-credentials (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
SRU information:
[Impact] Accidental creation of multiple UbuntuOne accounts can compromise the functionality of U1 (whose stack does not support multiple accounts).
The fix consists in disabling (greying out) the "Ubuntu One" item when an account for it already exists.
[Test Case] With these steps it's possible to create two U1 accounts:
Open **System Settings**.
Go to **Accounts**.
On the **Add Account** section, select **Ubuntu One**.
Enter the email address.
Enter the password.
Click **Continue**.
The **Accounts** screen is shown.
Click **Add account...**
Select **Ubuntu One**.
Enter the email address.
Enter the password.
Click **Continue**.
[Regression Potential] Several packages are involved in this bugfix:
- ubuntuone-
"<single-
This cannot cause any regression (and older versions of libaccounts-glib simply
ignore any unrecognized elements).
- libaccounts-glib: added a new API to return the value of the <single-account>
element; also here there's no risk of regression, as applications now using this
new API are unaffected. Besides, unit tests have been added to cover this API.
- libaccounts-qt: this is just a thin wrapper around libaccounts-glib. So the same
API was added here, with unit tests. Other code paths are unaffected by this
change.
- accounts-
The value of the <single-account> element has been added as a role in the
ProvidersModel class. Again, this doesn't affect the existing functionality, is
well covered with unit tests and moreover at the current stage the ProvidersModel
class is known to be used only by the ubuntu-
project.
- ubuntu-
(via accounts-
accounts created for the given provider. The code changes consists in about 10 lines
of code, and all but one are only triggered if the <single-account> flag is true
(which happens for the U1 provider only). The code has been tested and works.
=======
Original description:
Open **System Settings**.
Go to **Accounts**.
On the **Add Account** section, select **Ubuntu One**.
Enter the email address.
Enter the password.
Click **Continue**.
The **Accounts** screen is shown.
Click **Add account...**
Select **Ubuntu One**.
Enter the email address.
Enter the password.
Click **Continue**.
After adding the first U1 account, the second time you click Add account, U1 should not be available as an option.
See the attached screenshot.
Related branches
- Ken VanDine: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 42 lines (+17/-1)2 files modifieddebian/control (+1/-1)
src/ProvidersList.qml (+16/-0)
- PS Jenkins bot: Approve (continuous-integration)
- Ken VanDine: Approve
-
Diff: 11 lines (+1/-0)1 file modifieddata/ubuntuone.provider (+1/-0)
Changed in ubuntuone-credentials: | |
assignee: | nobody → Mike McCracken (mikemc) |
Changed in ubuntuone-credentials: | |
assignee: | nobody → Alberto Mardegan (mardy) |
status: | New → In Progress |
Changed in ubuntu-system-settings-online-accounts: | |
status: | Confirmed → In Progress |
description: | updated |
Changed in ubuntuone-credentials: | |
status: | In Progress → Fix Committed |
tags: | added: u1 |
Changed in libaccounts-glib (Ubuntu): | |
status: | New → Fix Released |
Changed in accounts-qml-module (Ubuntu): | |
status: | New → Fix Released |
Changed in libaccounts-qt (Ubuntu): | |
status: | New → Fix Released |
Changed in ubuntuone-credentials: | |
status: | Fix Committed → Fix Released |
Changed in ubuntu-system-settings-online-accounts: | |
status: | Fix Committed → Fix Released |
The ubuntu one account should be restricted to having one such account on the system at a time.
UOA currently doesn't support this, and allows the user to create multiples.
Ideally, UOA would allow a provider to just specify that it should be a singleton in the .provider file or similar, so that provider code doesn't need to check this.