Created attachment 142443 [details] Photo of corrupted login screen SUMMARY STEPS TO REPRODUCE 1. Update KDE plasma to the 5.23. 2. On the login screen choose 'Other' option. 3. Try to login (example: to login with the user from LDAP). OBSERVED RESULT The password input is not present, it only has username input. When you type your username and tried to login it fails (I assume because you the password should be specified) EXPECTED RESULT The password input should be present, I shpuld be abble to enter username and password and logged in to the system. SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE NEON (available in About System) KDE Plasma Version: 5.23.0 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.3
Can confirm, darn. :( Looks like the password field has: visible: userList.currentItem.needsPassword and it's getting set to false or it's undefined for the case of LDAP users.
I don't see where we even set needsPassword. It's a writable property in UserDelegate.qml, but I can't find where it gets written to...
Clearly something is setting needsPassword to true sometimes or else login would be broken for everyone. Seems like this is a magic property set by SDDM itself; see https://github.com/sddm/sddm/issues/751#issuecomment-847347450. I'm starting to worry that SDDM is broken and fails to set needsPassword to true for network users. If that's the case, we'll have to revert the feature until it's fixed.
Oh I'm dumb. it's because there is no `currentUser` in this case because the user needs to enter one first in user/password mode. We should simply disable this codepath for the username/password page.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1118
Git commit f038ab3f494f26b443b10ff5dc9f156e1ec16341 by Nate Graham. Committed on 14/10/2021 at 22:02. Pushed by ngraham into branch 'master'. sddm-theme: fix missing password field on "Other" page On this page there is no concept of the user being passwordless because no username has been specified by the user yet; we cannot know ahead of time. As a result, userList.currentItem.needsPassword is blank so the password field gets hidden. We should just assume that in username/password entry mode, all users have a password set. For any users where this is not the case, they can just leave the password blank, and it's not any worse than it was in Plasma 5.22. FIXED-IN: 5.23.1 M +2 -2 sddm-theme/Login.qml https://invent.kde.org/plasma/plasma-workspace/commit/f038ab3f494f26b443b10ff5dc9f156e1ec16341
Git commit d5a3e749a30613294f41386180aaf31dfb1a9bee by Nate Graham. Committed on 14/10/2021 at 22:03. Pushed by ngraham into branch 'Plasma/5.23'. sddm-theme: fix missing password field on "Other" page On this page there is no concept of the user being passwordless because no username has been specified by the user yet; we cannot know ahead of time. As a result, userList.currentItem.needsPassword is blank so the password field gets hidden. We should just assume that in username/password entry mode, all users have a password set. For any users where this is not the case, they can just leave the password blank, and it's not any worse than it was in Plasma 5.22. FIXED-IN: 5.23.1 (cherry picked from commit f038ab3f494f26b443b10ff5dc9f156e1ec16341) M +2 -2 sddm-theme/Login.qml https://invent.kde.org/plasma/plasma-workspace/commit/d5a3e749a30613294f41386180aaf31dfb1a9bee
(In reply to Nate Graham from comment #4) > Oh I'm dumb. it's because there is no `currentUser` in this case because the > user needs to enter one first in user/password mode. We should simply > disable this codepath for the username/password page. FTR, it works in the case that the "Other" page is the default, e.g. through SDDM's DisableAvatarsThreshold option.