[sdk] echo last character entered in password fields

Bug #1237614 reported by Pat McGowan on 2013-10-09
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ubuntu UX
Critical
Giorgio Venturi
qtubuntu (Ubuntu)
Critical
Michael Zanetti
ubuntu-ui-toolkit (Ubuntu)
Critical
Zsombor Egri

Bug Description

The new UI in build 89 uses the snap decision for connecting, and the password entry is different as there is no longer an option to see the password as it is entered.
I had to enter my 23 character passphrase 3 times as I could not reliably hit the correct keys.
All other modern interfaces show the characters. Best approach could be show the last character entered only, as most UIs do.

-- SOLUTION --
This bug applies to a number of use cases: passwords, PINs, passphrases, etc. Here's the desired solution:

https://docs.google.com/a/canonical.com/document/d/1nFm8xiYhKXXuEO_IvMXoD0lASbYzYXva1BWMVanU3iw/edit#bookmark=id.vwnd3zjsq4x1

Related branches

lp:~zsombi/qtubuntu/add-passwordMaskDelay
Loïc Molinari: Approve on 2014-09-17
PS Jenkins bot: Approve (continuous-integration) on 2014-09-17
Ted Gould (ted) on 2013-10-09
affects: indicator-network (Ubuntu) → unity8 (Ubuntu)
Changed in unity8 (Ubuntu):
status: New → Confirmed
Changed in ubuntu-ux:
status: New → Confirmed
Michał Sawicz (saviq) wrote :

The notification spec doesn't have a "Show/Hide password" checkbox, so it wasn't implemented. But I agree this should be there.

Changed in unity8 (Ubuntu):
status: Confirmed → Incomplete
Matthew Paul Thomas (mpt) wrote :

A "Show password" checkbox would be one way of fixing bug 1236261. This bug is about showing characters as they are entered, not about showing the entire password. As such, it is a toolkit bug -- all password fields should behave the same way.

affects: unity8 (Ubuntu) → ubuntu-ui-toolkit (Ubuntu)
Mirco Müller (macslow) wrote :

So we should have a dedicated SDK-component to support password-entry (with the needed "show password"-checkmark) and use it in the snap-decision and elsewhere (wifi-settings menu)?

Matthew Paul Thomas (mpt) wrote :

Yes, the toolkit should have a password field component, so that behaviors like this are consistent whether the password field is in a dialog, in a Web page, in System Settings, or anywhere else.

The spec for the password field should include a sentence something like this: "The most recent character you typed should appear verbatim for up to one second, before changing to a disc ●."

So all password fields would have echoMode = TextInput.PasswordEchoOnEdit.
<http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/qml-ubuntu-components0-textfield.html#echoMode-prop>

Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Zsombor Egri (zsombi)
status: Incomplete → Confirmed
summary: - UI should show characters as they are entered for the wifi passphrase
+ Implement PasswordEchoOnEdit for the wifi passphrase textfield

So you guys suggest to have a standalone PasswordInput component just for password inputs? I do not see any reason to do that, it wouldn't bring any value.

On the other hand I checked on desktop at least, that setting echoMode = TextInput.PasswordEchoOnEdit shows the whole password as clear text while editing, not only the last character entered, which I guess it is not the desired way. TextInput documentation [1] states that "TextInput.PasswordEchoOnEdit - Displays characters as they are entered while editing, otherwise identical to TextInput.Password." This to me that only the character entered should be displayed, the rest should be transformed into the passwordCharacter, however the functionailty does not obey that thought. There was a bug opened for this [2] however closed being invalid. I will open a bug to Qt in case the desired functionality is the one I assume.

[1] http://qt-project.org/doc/qt-5.1/qtquick/qml-qtquick2-textinput.html#echoMode-prop
[2] https://bugreports.qt-project.org/browse/QTBUG-23873

Zsombor Egri (zsombi) wrote :

Quote from Sailfish OS docs [1] TextField, which is also a proxy for the standard QML TextInput: "TextInput.PasswordEchoOnEdit - displays text as entered when the item has active focus and the text is being modified; otherwise, displays asterisks in place of entered text". So seams that the input with the enum set really works according to the specs. The question is whether is it good enough for us or not.

[1] https://sailfishos.org/sailfish-silica/qml-sailfishsilica-textfield.html#echoMode-prop

Zsombor Egri (zsombi) wrote :

Update, quote from #qt-quick
(09:59:18 AM) ThomasZ: zsombi: "EchoOnEdit" means its visible while editing. Editing stops until it looses focus.
(09:59:25 AM) ThomasZ: zsombi: it does what it says it should do

So, showing only the last entered character (like in iOS) is not possible.

Pat McGowan (pat-mcgowan) wrote :

We want the behavior as described int he UI spec:

TextInput.PasswordEchoOnEdit - Displays characters as they are entered while editing, otherwise displays asterisks.

The current behavior is simply toggleng between normal and password modes.
TextInput.Normal - Displays the text as it is. (Default)
TextInput.Password - Displays asterixes instead of characters.

If the underlying QML TextInput does not provide this we may need another approach.

Michał Sawicz (saviq) wrote :

I'm afraid the behavior of PasswordEchoOnEdit is different than what we expect. The *whole* text is visible while the field is focused, not one character at a time and only hidden on unfocus.

Olga Kemmet (olga-kemmet) wrote :

As part of the dialog work stream, mpt will provide feedback on this.

Changed in ubuntu-ux:
assignee: nobody → Matthew Paul Thomas (mpt)
John Lea (johnlea) on 2014-07-21
Changed in ubuntu-ux:
assignee: Matthew Paul Thomas (mpt) → Giorgio Venturi (giorgio-venturi)
summary: - Implement PasswordEchoOnEdit for the wifi passphrase textfield
+ [sdk] Implement PasswordEchoOnEdit for the wifi passphrase textfield
Changed in ubuntu-ux:
importance: Undecided → High
status: Confirmed → Triaged
Changed in ubuntu-ux:
status: Triaged → In Progress

this is a bigger issue than just wifi. In pinlock when using a phrase there is no option to see the phrase you are typing so this becomes critical.

tags: added: rtm-14
description: updated
Changed in ubuntu-ux:
status: In Progress → Fix Committed
importance: High → Critical
Olli Ries (ories) on 2014-09-16
Changed in ubuntu-ui-toolkit (Ubuntu):
importance: High → Critical
Zsombor Egri (zsombi) wrote :

It ends up that all we need is to provide handling of QPlatformIntegration::PasswordMaskDelay in QtUbuntu integration's styleHint() method. That should do the job.

Changed in qtubuntu (Ubuntu):
assignee: nobody → Loic Mathaud (loicm)
importance: Undecided → Critical
status: New → Confirmed
assignee: Loic Mathaud (loicm) → Loïc Molinari (loic.molinari)
Zsombor Egri (zsombi) on 2014-09-17
Changed in qtubuntu (Ubuntu):
assignee: Loïc Molinari (loic.molinari) → Zsombor Egri (zsombi)
Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → Invalid
Changed in qtubuntu (Ubuntu):
status: Confirmed → In Progress
tags: added: rtm14
removed: rtm-14
kevin gunn (kgunn72) on 2014-09-19
tags: added: touch-2014-09-25
Pat McGowan (pat-mcgowan) wrote :

Apps should use echoMode: TextInput.Password to take advantage of this fix

summary: - [sdk] Implement PasswordEchoOnEdit for the wifi passphrase textfield
+ [sdk] echo last character entered in password fields
kevin gunn (kgunn72) on 2014-09-25
tags: added: touch-2014-10-02
removed: touch-2014-09-25
Pat McGowan (pat-mcgowan) wrote :

Did the qtubuntu change land?

Changed in qtubuntu (Ubuntu):
assignee: Zsombor Egri (zsombi) → Gerry Boland (gerboland)
Changed in qtubuntu (Ubuntu):
assignee: Gerry Boland (gerboland) → Michael Zanetti (mzanetti)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtubuntu - 0.60+14.10.20141001.3-0ubuntu1

---------------
qtubuntu (0.60+14.10.20141001.3-0ubuntu1) utopic; urgency=low

  [ Zsombor Egri ]
  * Handle PasswordMaskDelay. (LP: #1237614)

  [ Robert Carr ]
  * Support mir restored surface state as a way to leave fullscreen.
    (LP: #1194550)

  [ Daniel d'Andrada ]
  * Use the global clipboard from D-Bus (LP: #1367814)
 -- Ubuntu daily release <email address hidden> Wed, 01 Oct 2014 17:20:53 +0000

Changed in qtubuntu (Ubuntu):
status: In Progress → Fix Released
Changed in ubuntu-ux:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers