Looking at the password input through Firebug/developer tools, and the value of the password input is the plaintext of the password I entered.
I have a test site here:
http://tedlee.pythonanywhere.com/welcome/default/user/registerTyping in a password and failing registration will return that password. Is this just the behavior of a modern browser (to remember failed inputs), or is it web2py form handling?
In the case that web2py did only return asterisks, wouldn't that be very misleading to the user? Because the password input is masked, they would assume that the returned password value (after registration failure) was what they previously had typed, not a password replaced with asterisks. Thus on re-submitting the form, they would not think to alter the password and would just submit a password with asterisks.