Bug 491609

Summary: Android album art not seen on desktop
Product: [Applications] kdeconnect Reporter: Timothy <accounts.kdebugs>
Component: commonAssignee: Albert Vaca Cintora <albertvaka>
Status: RESOLVED DUPLICATE    
Severity: normal CC: andrew.g.r.holmes, cwo.kde
Priority: NOR    
Version: 24.05.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Timothy 2024-08-12 08:21:01 UTC
SUMMARY

On one KDE computer I've connected my android phone to over a VPN, the album art of media playing on the android device is not transferred over.

STEPS TO REPRODUCE
1. Connect phone and desktop over a VPN
2. Play media on phone
3. Observe lack of art on desktop

OBSERVED RESULT

```
~$ dbus-send --print-reply --dest=org.mpris.MediaPlayer2.kdeconnect.mpris_e53ec9e64972478189e9b4502aa6ba4c /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'

method return time=1723450577.022262 sender=:1.1936 -> destination=:1.1942 serial=132 reply_serial=2
   variant       array [
         dict entry(
            string "mpris:length"
            variant                int64 184000000
         )
         dict entry(
            string "mpris:trackid"
            variant                object path "/org/mpris/MediaPlayer2"
         )
         dict entry(
            string "xesam:album"
            variant                string "Iechyd Da"
         )
         dict entry(
            string "xesam:artist"
            variant                array [
                  string "Bill Ryder-Jones"
               ]
         )
         dict entry(
            string "xesam:title"
            variant                string "I Hold Something In My Hand"
         )
      ]
```

EXPECTED RESULT

I expected mpris:artUrl to be supplied.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE Tumbleweed
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 24.05.2
Qt Version: 6.7.2

ADDITIONAL INFORMATION

To get more information, I restarted kdeconnectd with info logs enabled:

```
~$ QT_LOGGING_RULES="*.info=true; *.debug=true; qt.*.debug=false" kdeconnectd --replace &!

2024-08-12T16:19:26 kdeconnect.core: Daemon starting
2024-08-12T16:19:26 kf.coreaddons: Checking for plugins in QList("/usr/bin/kdeconnect", "/usr/lib64/qt6/plugins/kdeconnect")
2024-08-12T16:19:26 kdeconnect.core: Broadcasting identity packet
2024-08-12T16:19:26 kdeconnect.core: Sending announce
2024-08-12T16:19:26 kdeconnect.core: Opening socket for address QHostAddress("172.28.137.194")
2024-08-12T16:19:26 kdeconnect.core: Opening socket for address6 QHostAddress("fe80::e08f:1673:23b8:7ef%enp67s0")
2024-08-12T16:19:26 kdeconnect.core: Opening socket for address QHostAddress("172.17.0.1")
2024-08-12T16:19:26 kdeconnect.core: Opening socket for address QHostAddress("100.64.0.3")
2024-08-12T16:19:26 kdeconnect.core: Opening socket for address6 QHostAddress("fe80::d502:7775:e694:1e74%tailscale0")
2024-08-12T16:19:26 kdeconnect.core: Opened 5 sockets to listen for MDNS query responses
2024-08-12T16:19:26 kdeconnect.core: Sending MDNS query for service "_kdeconnect._udp.local"
2024-08-12T16:19:26 kdeconnect.core: Sending mDNS query via socket 32
2024-08-12T16:19:26 kdeconnect.core: Sending mDNS query via socket 33
2024-08-12T16:19:26 kdeconnect.core: Sending mDNS query via socket 34
2024-08-12T16:19:26 kdeconnect.core: Sending mDNS query via socket 35
2024-08-12T16:19:26 kdeconnect.core: Sending mDNS query via socket 36
2024-08-12T16:19:26 kdeconnect.core: LanLinkProvider started
2024-08-12T16:19:26 kdeconnect.core: Daemon started
2024-08-12T16:19:26 kdeconnect.core: Discovered myself, ignoring
2024-08-12T16:19:29 kdeconnect.core: TCP connection done (i'm the existing device)
2024-08-12T16:19:29 kdeconnect.core: Starting server ssl (I'm the client TCP socket)
2024-08-12T16:19:30 kdeconnect.core: Socket successfully established an SSL connection
2024-08-12T16:19:30 kdeconnect.core: Device discovered "cf4d1fdb_11fb_437a_939f_268549cb9a55" via link with priority 20
2024-08-12T16:19:30 kdeconnect.core: It is a known device "Pixel 8"
2024-08-12T16:19:30 kdeconnect.core: Not loading plugin "kdeconnect_remotesystemvolume" because device doesn't support it
2024-08-12T16:19:30 kdeconnect.core: Not loading plugin "kdeconnect_virtualmonitor" because device doesn't support it
2024-08-12T16:19:30 kdeconnect.core: Not loading plugin "kdeconnect_lockdevice" because device doesn't support it
2024-08-12T16:19:30 kdeconnect.core: Not loading plugin "kdeconnect_bigscreen" because this device of type "desktop" is not supported. Supports: "tv"
2024-08-12T16:19:30 kdeconnect.core: Not loading plugin "kdeconnect_remotecommands" because device doesn't support it
2024-08-12T16:19:30 default: new capabilities for  "Pixel 8"
2024-08-12T16:19:30 kdeconnect.core: "Pixel 8" - reload plugins
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_runcommand"
2024-08-12T16:19:30 kf.kio.core.dirlister: +KCoreDirLister
2024-08-12T16:19:30 kf.kio.core.dirlister: 
2024-08-12T16:19:30 kf.coreaddons.kdirwatch: Available methods:  QList("Stat", "INotify", "QFileSystemWatcher") preferred= INotify
2024-08-12T16:19:30 kf.coreaddons: Checking for plugins in QList("/usr/bin/kf6/kio", "/usr/lib64/qt6/plugins/kf6/kio")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_file.so" supports protocols QList("file")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_ftp.so" supports protocols QList("ftp")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_ghelp.so" supports protocols QList("ghelp")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_help.so" supports protocols QList("help")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_http.so" supports protocols QList("http", "https", "webdav", "webdavs")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_remote.so" supports protocols QList("remote")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_trash.so" supports protocols QList("trash")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/activities.so" supports protocols QList("activities")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/afc.so" supports protocols QList("afc")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/archive.so" supports protocols QList("ar", "sevenz", "tar", "zip")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/filter.so" supports protocols QList("bzip", "bzip2", "gzip", "lzma", "xz", "zstd")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/fish.so" supports protocols QList("fish")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/info.so" supports protocols QList("info")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_filenamesearch.so" supports protocols QList("filenamesearch")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/man.so" supports protocols QList("man")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/mtp.so" supports protocols QList("mtp")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/recentlyused.so" supports protocols QList("recentlyused")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/sftp.so" supports protocols QList("sftp")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/smb.so" supports protocols QList("cifs", "smb")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/thumbnail.so" supports protocols QList("thumbnail")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/applications.so" supports protocols QList("applications", "programs")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/desktop.so" supports protocols QList("desktop")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_fonts.so" supports protocols QList("fonts")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/ldap.so" supports protocols QList("ldap", "ldaps")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/baloosearch.so" supports protocols QList("baloosearch")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/tags.so" supports protocols QList("tags")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/timeline.so" supports protocols QList("timeline")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kdeconnect.so" supports protocols QList("kdeconnect")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/audiocd.so" supports protocols QList("audiocd")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_bluetooth.so" supports protocols QList("bluetooth")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/kio_obexftp.so" supports protocols QList("obexftp")
2024-08-12T16:19:30 kf.kio.core: "/usr/lib64/qt6/plugins/kf6/kio/akonadi.so" supports protocols QList("akonadi")
2024-08-12T16:19:30 kf.kio.core.dirlister: KCoreDirLister(0x555f02707310) url= QUrl("tags:/") keep= false reload= true
2024-08-12T16:19:30 kf.kio.core.dirlister: lister: KCoreDirLister(0x555f02707310) silent= true
2024-08-12T16:19:30 kf.kio.core.dirlister: KCoreDirLister(0x555f02707310)
2024-08-12T16:19:30 kf.kio.core.dirlister: Iterating over dirs QList()
2024-08-12T16:19:30 kf.kio.core.dirlister: Reloading directory: QUrl("tags:/")
2024-08-12T16:19:30 kf.kio.core.dirlister: Entry now being listed by QList(KCoreDirLister(0x555f02707310))
2024-08-12T16:19:30 kf.coreaddons.kdirwatch: path= "/home/tec/.local/share/user-places.xbel" sub_entry: 0x0
2024-08-12T16:19:30 kdeconnect.plugin.sftp: add to dolphin
2024-08-12T16:19:30 kdeconnect.plugin.sftp: Created device: "Pixel 8"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_sftp"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_notifications"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_connectivity_report"
2024-08-12T16:19:30 default: error activating kdeconnectd: QDBusError("org.freedesktop.DBus.Error.Spawn.ExecFailed", "Failed to execute program org.kde.kdeconnect: No such file or directory")
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_sms"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_mmtelephony"
2024-08-12T16:19:30 kdeconnect.plugin.contacts: Contacts constructor for device  "Pixel 8"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_contacts"
2024-08-12T16:19:30 kdeconnect.plugin.contacts: sendRequest: Sending  "kdeconnect.contacts.request_all_uids_timestamps" true
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_share"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_telephony"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_findmyphone"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_pausemusic"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_ping"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_presenter"
2024-08-12T16:19:30 default: Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_mpriscontrol"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_clipboard"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_mousepad"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_findthisdevice"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_systemvolume"
2024-08-12T16:19:30 org.kde.pulseaudio: Attempting connection to PulseAudio sound daemon
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_remotecontrol"
2024-08-12T16:19:30 kdeconnect.plugin.battery: No Primary Battery detected on this system. This may be a bug.
2024-08-12T16:19:30 kdeconnect.plugin.battery: Total quantity of batteries found:  0
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_battery"
2024-08-12T16:19:30 kdeconnect.plugin.battery: Primary Battery seems to have been removed. Suspending packets until it is reconnected.
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_mprisremote"
2024-08-12T16:19:30 kdeconnect.core: Loaded plugin: "kdeconnect_remotekeyboard"
2024-08-12T16:19:30 org.kde.pulseaudio: state callback
2024-08-12T16:19:30 org.kde.pulseaudio: state callback
2024-08-12T16:19:30 org.kde.pulseaudio: state callback
2024-08-12T16:19:30 org.kde.pulseaudio: ready, stopping connect timer
2024-08-12T16:19:30 org.kde.pulseaudio: Default sink changed PulseAudioQt::Sink(0x555f02ad3f80)
2024-08-12T16:19:30 org.kde.pulseaudio: Default source changed PulseAudioQt::Source(0x555f02acb160)
2024-08-12T16:19:30 kf.kio.core.connection: Got a new connection
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Got 14 bytes
2024-08-12T16:19:30 kf.kio.core.connection: KIO::ConnectionBackend(0x555f02b41c90) Got 0 bytes
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Beginning of command 85 of size 4
kf.kio.core.connection: QLocalSocket(0x557d7fbf4d80) Want to read 4 bytes; appending to already existing bytes 0
kf.kio.core.connection: emitting task 85 4
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Got 96 bytes
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Beginning of command 48 of size 14
kf.kio.core.connection: QLocalSocket(0x557d7fbf4d80) Want to read 14 bytes; appending to already existing bytes 0
kf.kio.core.connection: emitting task 48 14
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Got 72 bytes
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Beginning of command 80 of size 42
kf.kio.core.connection: QLocalSocket(0x557d7fbf4d80) Want to read 42 bytes; appending to already existing bytes 0
kf.kio.core.connection: emitting task 80 42
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Got 20 bytes
kf.kio.core.connection: KIO::ConnectionBackend(0x557d7fbb8a20) Beginning of command 71 of size 10
kf.kio.core.connection: QLocalSocket(0x557d7fbf4d80) Want to read 10 bytes; appending to already existing bytes 0
kf.kio.core.connection: emitting task 71 10
kf.baloo.engine: PostingDB::fetchTermsStartingWith Successful return: 0
kf.baloo.engine: PostingDB::iter "TAG-" MDB_NOTFOUND: No matching key/data pair found
2024-08-12T16:19:30 kf.kio.core.connection: KIO::ConnectionBackend(0x555f02b41c90) Got 180 bytes
2024-08-12T16:19:30 kf.kio.core.connection: KIO::ConnectionBackend(0x555f02b41c90) Beginning of command 106 of size 160
2024-08-12T16:19:30 kf.kio.core.connection: QLocalSocket(0x555f02ad4840) Want to read 160 bytes; appending to already existing bytes 0
2024-08-12T16:19:30 kf.kio.core.connection: emitting task 106 160
2024-08-12T16:19:30 kf.kio.core.connection: KIO::ConnectionBackend(0x555f02b41c90) Got 10 bytes
2024-08-12T16:19:30 kf.kio.core.connection: KIO::ConnectionBackend(0x555f02b41c90) Beginning of command 104 of size 0
2024-08-12T16:19:30 kf.kio.core.connection: QLocalSocket(0x555f02ad4840) Want to read 0 bytes; appending to already existing bytes 0
2024-08-12T16:19:30 kf.kio.core.connection: emitting task 104 0
2024-08-12T16:19:30 kf.kio.core.dirlister: new entries for  QUrl("tags:/")
2024-08-12T16:19:30 kf.kio.core.dirlister: finished listing QUrl("tags:/")
```
Comment 1 cwo 2024-08-12 12:10:29 UTC
Thank you for the feature request!

Support for sending album art from phone to pc was added a week ago, see this merge request: https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/541

I'm not sure it will be in the next version (I think the feature was added after feature freeze for the 24.08 release) but it should definitely be in the release after that. You may also be able to install it from git master, or from your distribution's in-development release channels if applicable.

Should it still not work correctly then, please reopen this bug or file a new one.

*** This bug has been marked as a duplicate of bug 422136 ***
Comment 2 Timothy 2024-08-13 05:52:21 UTC
(In reply to cwo from comment #1)
> Thank you for the feature request!
> 
> Support for sending album art from phone to pc was added a week ago, see
> this merge request:
> https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/541

Ah oops, thanks for clarifying the situation. I saw that MR and based on the "1 year ago" at the top assumed it must have made its way into the last release by now. Now I see that's just the creation date not the merge date...