Bug 438178 - Visual glitch when pressing the back button in System Tray applets with a header when using a bottom panel in transparent mode
Summary: Visual glitch when pressing the back button in System Tray applets with a hea...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray widget (show other bugs)
Version: 5.23.90
Platform: Other Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
: 445660 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-06-06 18:55 UTC by Lua
Modified: 2022-07-18 18:59 UTC (History)
7 users (show)

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


Attachments
Glitch (168.45 KB, video/mp4)
2021-06-06 18:55 UTC, Lua
Details
I made a short video showing what it is like now. (567.26 KB, video/mp4)
2022-01-22 16:28 UTC, guimarcalsilva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lua 2021-06-06 18:55:30 UTC
Created attachment 139043 [details]
Glitch

SUMMARY


STEPS TO REPRODUCE
1. Expand the system tray (^);
2. Open an applet;
3. Press back.

OBSERVED RESULT
There will be a visual glitch in the left corner.

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.22.80
KDE Frameworks Version: 5.83.0
Qt Version: 5.15.2
Kernel Version: 5.4.0-73-generic (64-bit)
Graphics Platform: X11
Processors: 4 × Intel Core Processor (Skylake, IBRS)
Memory: 3.8 GiB of RAM
Graphics Processor: llvmpipe

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2021-06-09 19:11:35 UTC
Weird, cannot reproduce.
Comment 2 guimarcalsilva 2021-06-24 04:18:20 UTC
I can reproduce it. I think it might be related to this bug as well: https://bugs.kde.org/show_bug.cgi?id=438955

I'm seeing those strange borders in many applets, sometimes they flicker, sometimes when moving the mouse over them they disappear.

Disabling the contrast effect doesn't fix the issue to me. I'm using Intel graphics, but the problem is present even with XRender compositing.
Comment 3 Nate Graham 2021-07-29 16:45:36 UTC
There appears to be something odd going on with SVG caching. We are seeing other related glitches too. Moving to plasma framework.
Comment 4 Nate Graham 2021-07-29 18:56:09 UTC
Related to 433934, possible the same root cause?
Comment 5 guimarcalsilva 2022-01-19 17:33:16 UTC
I noticed something interesting with this bug. It doesn't happen when the panel is set to opaque (or adaptive with a maximized window), only when set to translucent. It also happens on some applets, especially the clipboard one. If you click on it you'll see the glitch, but if you hover the mouse over the applet, the glitch disappears. 

Since adaptive is the default behavior and this is a pretty obvious bug, I believe it could be made part of the 15-Minute Bug Initiative Nate posted about on his blog: http://tinyurl.com/kdeplasma-15-minute-bugs
Comment 6 Nate Graham 2022-01-19 17:57:08 UTC
I can reproduce that visual glitch with a bottom panel and transparent panel mode. I wasn't noticing it because I use a vertical panel, and it doesn't reproduce there.

Further information: it only seems to reproduce for applets that have a header: set. Applets that have no header of their own are unaffected. The Bluetooth applet proves it. When Bluetooth is on, it has a header and the glitch happens; when BLuetooth is off, there's no header and the issue goes away.

I don't think it qualifies for the 15-Minute Bug initiative as it is a truly very small minor thing.

We should still fix it of course. :) Now that I can reproduce the bug, it shouldn't be hard to fix.
Comment 7 Nate Graham 2022-01-19 18:03:08 UTC
Another interesting data point: the Networks applet suffers from it, but the glitch goes away automatically as soon as the network list updates. Seems like the initial state of something isn't set properly, but it has a binding that makes it get reset properly when the applet refreshes or something.
Comment 8 Nate Graham 2022-01-19 18:06:17 UTC
Found the bug, submitting a fix shortly.

Behold, the power of a 100% reproducible issue. :)
Comment 9 Bug Janitor Service 2022-01-19 18:10:52 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1379
Comment 10 Nate Graham 2022-01-19 18:28:32 UTC
Git commit 7221ffd1a9aeeae52467ac4b3bc3a5bfcde7a500 by Nate Graham.
Committed on 19/01/2022 at 18:06.
Pushed by ngraham into branch 'master'.

applets/systemtray: fix glitch for some applets with headers

PlasmoidPopupsContainer.qml has special code to handle merging headers
from applets if those applets use a PlasmaComponents3.Page instance as
their FullRepresentation. However this breaks for any applets that use
PlasmaExtras.Representation, which is a subclass of it that we have been
porting applets to over time, because it offers more features in a
single location. This caused the detection to break, so such applets
woudl have their headers improperly merged.

Explicitly detecting the use of PlasmaExtras.Representation as well
fixes it.
FIXED-IN: 5.24

M  +2    -1    applets/systemtray/package/contents/ui/PlasmoidPopupsContainer.qml

https://invent.kde.org/plasma/plasma-workspace/commit/7221ffd1a9aeeae52467ac4b3bc3a5bfcde7a500
Comment 11 Nate Graham 2022-01-19 18:29:17 UTC
Git commit 17a189405f5b19e1a8bf2499ff334ce525503634 by Nate Graham.
Committed on 19/01/2022 at 18:29.
Pushed by ngraham into branch 'cherry-pick-7221ffd1'.

applets/systemtray: fix glitch for some applets with headers

PlasmoidPopupsContainer.qml has special code to handle merging headers
from applets if those applets use a PlasmaComponents3.Page instance as
their FullRepresentation. However this breaks for any applets that use
PlasmaExtras.Representation, which is a subclass of it that we have been
porting applets to over time, because it offers more features in a
single location. This caused the detection to break, so such applets
woudl have their headers improperly merged.

Explicitly detecting the use of PlasmaExtras.Representation as well
fixes it.
FIXED-IN: 5.24


(cherry picked from commit 7221ffd1a9aeeae52467ac4b3bc3a5bfcde7a500)

M  +2    -1    applets/systemtray/package/contents/ui/PlasmoidPopupsContainer.qml

https://invent.kde.org/plasma/plasma-workspace/commit/17a189405f5b19e1a8bf2499ff334ce525503634
Comment 12 Nate Graham 2022-01-19 18:29:43 UTC
Git commit 4f6c096beebad435bcc9857e73bde32755cf5de6 by Nate Graham.
Committed on 19/01/2022 at 18:29.
Pushed by ngraham into branch 'Plasma/5.24'.

applets/systemtray: fix glitch for some applets with headers

PlasmoidPopupsContainer.qml has special code to handle merging headers
from applets if those applets use a PlasmaComponents3.Page instance as
their FullRepresentation. However this breaks for any applets that use
PlasmaExtras.Representation, which is a subclass of it that we have been
porting applets to over time, because it offers more features in a
single location. This caused the detection to break, so such applets
woudl have their headers improperly merged.

Explicitly detecting the use of PlasmaExtras.Representation as well
fixes it.
FIXED-IN: 5.24


(cherry picked from commit 7221ffd1a9aeeae52467ac4b3bc3a5bfcde7a500)

M  +2    -1    applets/systemtray/package/contents/ui/PlasmoidPopupsContainer.qml

https://invent.kde.org/plasma/plasma-workspace/commit/4f6c096beebad435bcc9857e73bde32755cf5de6
Comment 13 guimarcalsilva 2022-01-20 01:45:59 UTC
*** Bug 445660 has been marked as a duplicate of this bug. ***
Comment 14 guimarcalsilva 2022-01-22 15:29:40 UTC
I see a fix was merged two days ago, but I can still see the bug on Neon Unstable with the latest updates. The version of plasma-workspace I have is 4:5.23.5+p20.04+tunstable+git20220122.0442-0

I assume that's the latest version, no?
Comment 15 Nate Graham 2022-01-22 16:17:19 UTC
Is it possible you're seeing a slightly different visual glitch from the one that was fixed here? There might be more things to fix beyond just the single narrowly targeted fix I implemented.
Comment 16 guimarcalsilva 2022-01-22 16:21:08 UTC
(In reply to Nate Graham from comment #15)
> Is it possible you're seeing a slightly different visual glitch from the one
> that was fixed here? There might be more things to fix beyond just the
> single narrowly targeted fix I implemented.

It's the same glitch. The only difference is that now the glitch disappears after a second on the clipboard applet just like it did before on the network one. Before your fix, it would linger there until hovering the mouse over the clipboard applet.
Comment 17 guimarcalsilva 2022-01-22 16:28:18 UTC
Created attachment 145759 [details]
I made a short video showing what it is like now.

I made a short video showing what it is like now.
Comment 18 guimarcalsilva 2022-01-27 15:22:34 UTC
I'll be reopening this bug since it's not fixed yet.

I also noticed the glitch in the network applet doesn't disappear after a second like before the patch. Since your patch made the behavior change I believe it changed something important.
Comment 19 Nate Graham 2022-01-28 04:40:31 UTC
I can see now that you're right. I think my fix was not wrong, but not sufficient. I'll have a closer look.
Comment 20 guimarcalsilva 2022-03-27 18:14:08 UTC
I noticed another thing about this bug. As commented earlier, if you make the panel opaque it goes away, however, if you log in again the glitch still happens even if the panel is still set to opaque. Somehow changing the transparency fixes the bug temporarily but it's not the transparency itself that causes the problem. I'm just speculating, but maybe changing the transparency setting resets something until you start a new session.

I also noticed that in applets with a checkbox, like Bluetooth, Battery, and Notifications, the glitch stays on screen until you interact with the applet, while on the ones with an input field like Clipboard or Network it disappears after a second. You can see that by making all applets visible and clicking on them. This behavior is pretty consistent.
Comment 21 guimarcalsilva 2022-04-03 01:42:23 UTC
I have an update on this bug. I know this is a very minor bug but small glitches like these are really bad for first impressions, so I'm trying to find clues as to what is happening.

I noticed that if you set a color scheme that doesn't set a header color, like Breeze Classic, the bug goes away completely. The act of coloring the header must be causing this.
Comment 22 guimarcalsilva 2022-07-18 18:46:48 UTC
I'm not seeing this glitch anymore as of the last few updates to Neon Unstable (tested with X and Wayland). Can anyone with an updated Plasma confirm the bug is solved?
Comment 23 Nate Graham 2022-07-18 18:59:29 UTC
Also cannot reproduce. Likely it got fixed by the panel refactor, or Ivan's widget popup work. Awesome!