lp://qastaging/~unity-team/unity8/wizard-auto-shutdown
- Get this branch:
- bzr branch lp://qastaging/~unity-team/unity8/wizard-auto-shutdown
Branch merges
- Andrea Cimitan (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Michael Terry: Approve
-
Diff: 189 lines (+84/-0)8 files modifiedqml/Wizard/Pages.qml (+2/-0)
qml/Wizard/Wizard.qml (+10/-0)
tests/mocks/Unity/CMakeLists.txt (+1/-0)
tests/mocks/Unity/Session/CMakeLists.txt (+1/-0)
tests/mocks/Unity/Session/DBusUnitySessionService.qml (+24/-0)
tests/mocks/Unity/Session/Session.qmltypes (+22/-0)
tests/mocks/Unity/Session/qmldir (+3/-0)
tests/qmltests/Wizard/tst_Wizard.qml (+21/-0)
Related bugs
Related blueprints
Branch information
Recent revisions
- 1592. By Michael Terry
-
Don't accept multiple "Finish" clicks during the last step of the wizard
Doing so can cause password-setting to be left in an inconsistent state.
Here's how that happens:A) User clicks Finish multiple times, queuing up multiple input events (queued because Finish makes some blocking calls).
B) The first Finish starts, let's say it's called with new password "1111" and type "passcode". The current password is "" with a type of "swipe".
C) The first Finish completes, having set the password correctly to 1111/passcode.
D) The second Finish starts. Also called with "1111/passcode". But it still thinks the current type is "swipe" because it takes a moment for AccountsService to update itself.
E) The second Finish first changes the display mode hint to "passcode"
F) Then the second Finish can't change the password because it's trying to authenticate using "" when the password is actually "1111" now.
G) So the second Finish enters the "error mode cleanup" stage and tries to revert its display mode hint change from step E. But it's reverting to what it thought the previous type was -- "swipe" -- which uses the "passphrase" hint behind the scenes (instead of "passcode")Some possible solutions to this:
- Cache the password type locally instead of waiting for AccountsService to update (not a bad idea, but would be done in ubuntu-system- settings, not unity8)
- Don't let the user click the Finish button twice. This seems like a no-brainer that should be done anyway. This would also avoid the whole problem.To reproduce this bug / test this fix, enable the wizard, enter adb, run "sudo passwd -d phablet", reboot, then go through the wizard but just keep spamming that final Finish button. You'll also notice some slow down because it's trying to do all those Finish operations. Fixes: #1414762
Approved by: Albert Astals Cid - 1591. By Andrea Cimitan
-
Background needs to be specified to be visible in horizontal cards Fixes: #1411748
Approved by: Albert Astals Cid
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp://qastaging/unity8