Bug 473720 - Authentication dialog has a generic icon
Summary: Authentication dialog has a generic icon
Status: RESOLVED FIXED
Alias: None
Product: policykit-kde-agent-1
Classification: Plasma
Component: general (show other bugs)
Version: master
Platform: Neon Linux
: NOR minor
Target Milestone: ---
Assignee: Nate Graham
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-08-24 11:38 UTC by Patrick Silva
Modified: 2023-08-30 21:12 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
screenshot (175.40 KB, image/png)
2023-08-24 11:38 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2023-08-24 11:38:57 UTC
Created attachment 161155 [details]
screenshot

SUMMARY
The authentication dialog that shows up when I apply changes in SDDM and Users KCMs has a generic icon.
Please see the attached screenshot.


STEPS TO REPRODUCE
1. change something in Users or SDDM KCMs
2. apply the change
3. 

EXPECTED RESULT
a proper icon

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.240.0
Qt Version: 6.6.0
Graphics Platform: Wayland
Comment 1 Nate Graham 2023-08-29 20:37:04 UTC
Can confirm. I see the problem: the new auth dialog respects the icon set by the authentication action itself. However it looks like most of our actions use the `kauth-example` icon for this, which doesn't exist, so the Kirigami.Icon that tries to render it fails and falls back to the generic document icon.

We would fix this in all of our kauth actions by setting appropriate icons. However in addition to the fact that this would be a lot of work, it would probably produce a subpar result since every auth dialog could have a different random icon. Really the only icon that actually makes sense here is a generic lock icon, and the simplest way to enforce this is to just hardcode the dialog to always show it. This appears to be what the old dialog was doing with the dialog-password icon. Let's do it again for the new one.
Comment 2 Bug Janitor Service 2023-08-29 20:44:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/polkit-kde-agent-1/-/merge_requests/29
Comment 3 Nate Graham 2023-08-30 21:12:40 UTC
Git commit 4e811e0fac7e972df45a0c954382c2dde1c4de3b by Nate Graham.
Committed on 29/08/2023 at 22:34.
Pushed by ngraham into branch 'master'.

Always use "lock" icon in auth dialog, disregarding icon from auth action

In the past, the old QtWidgets-based auth dialog disregarded the icon
set by auth actions in favor of a hardcoded one. This was presumably
because we wanted to always show an appropriate and consistent icon,
instead of whatever random and inconsistent icon was specified by all
the different auth actions out there.

As a result, we got sloppy about setting icons in our own auth action
files. Many are using the generic/default `kauth-example` icon name
which does not exist in the Breeze theme.

However the new Plasma 6 based dialog does honor the icon in the auth
file. As a result, the dialog shows a lot of broken and inconsistent
icons.

We could fix this by changing the icons in all of our auth files
everywhere. However that has two downsides:
1. It would be a lot of work
2. The result would still most likely result in icon inconsistency, when
   all we really want to do is show the same lock-style icon in the
   dialog every time

More work for a worse result doesn't strike me as an ideal use of time.
Thus, this commit goes in the other direction and brings back the
approach taken by the old QtWidgets dialog by ignoring the icon set by
auth actions, instead always showing the "lock" icon in the dialog.

M  +0    -2    QuickAuthDialog.cpp
M  +0    -1    QuickAuthDialog.h
M  +5    -1    policykitlistener.cpp
M  +1    -2    qml/MobileQuickAuthDialog.qml
M  +1    -2    qml/QuickAuthDialog.qml

https://invent.kde.org/plasma/polkit-kde-agent-1/-/commit/4e811e0fac7e972df45a0c954382c2dde1c4de3b