Desktop/Linux: KDE shows the previous album's art in the media controls for a track with no art #41

Closed
opened 2026-08-18 05:57:03 +00:00 by logan · 0 comments
Collaborator

Report

On KDE, playing a song with no album art and hovering the YellowJacket taskbar entry shows the media-control preview still carrying the art of the last album that had any. Confusing and wrong.

Findings

backend/mediacontrols/mpris_linux.go:309-311:

if meta.ArtFilePath != "" {
    m["mpris:artUrl"] = "file://" + meta.ArtFilePath
}

The key is simply omitted when there is no art. KDE's Plasma media applet keeps showing the last image it was given rather than treating a missing mpris:artUrl as "no art".

Direction

Emit a definite answer instead of an absence. Options, in order of preference:

  1. Ship a placeholder image (the app icon — see the logo issue) and point mpris:artUrl at it whenever a track has no cover.
  2. Set mpris:artUrl to an empty string and check whether Plasma clears on that — cheaper, but relies on someone else's client behaviour, so verify on KDE before choosing it.

Check the same question on the Android side: androidpayload.go:57 passes artPath through and has exactly the same shape.

**Report** On KDE, playing a song with no album art and hovering the YellowJacket taskbar entry shows the media-control preview still carrying the art of the *last* album that had any. Confusing and wrong. **Findings** `backend/mediacontrols/mpris_linux.go:309-311`: ```go if meta.ArtFilePath != "" { m["mpris:artUrl"] = "file://" + meta.ArtFilePath } ``` The key is simply omitted when there is no art. KDE's Plasma media applet keeps showing the last image it was given rather than treating a missing `mpris:artUrl` as "no art". **Direction** Emit a definite answer instead of an absence. Options, in order of preference: 1. Ship a placeholder image (the app icon — see the logo issue) and point `mpris:artUrl` at it whenever a track has no cover. 2. Set `mpris:artUrl` to an empty string and check whether Plasma clears on that — cheaper, but relies on someone else's client behaviour, so verify on KDE before choosing it. Check the same question on the Android side: `androidpayload.go:57` passes `artPath` through and has exactly the same shape.
logan self-assigned this 2026-08-18 15:15:42 +00:00
logan removed their assignment 2026-08-18 15:32:33 +00:00
logan closed this issue 2026-08-18 16:18:37 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yonlu/yellowjacket#41