I have been working on a music visualizer for the past year ish, and I have noticed some strange things regarding plasma browser integration and mpris. I use mpris for a lot of different functionality in my app and the plasma browser integration mpris service is unreliable at best. I use gnome on my desktop pc and I use KDE plasma for my laptop, so that is where I found the bug. the way I found it first is on my laptop the mpris service for firefox only has the song title and nothing else, no image no artist no album, nothing but the title. it does seem to give the correct song length, though. so I had it use the mpris service for plasma browser integration. well that has its own issues. the main issue that I see is that the song length it gives it very very wrong. the length seems to be the total time you have had thing playing continuously plus 30 seconds. I use youtube music for my music and it works great most of the time, but it has one issue that really messes with a lot of things. for most songs it preloads them for seamless play, but if the song does not have an album release, it wont preload it. this causes there to be a pause in the songs which causes the pipewire node to get deleted (I dont know why, it only happens on youtube music). but whats even stranger is that when that happens plasma browser integration starts going crazy, first it starts spamming the changed properties signal, which makes my app try to fetch the new information, it then just returns with all of the values except time set to NONE. these issues just dont happen with any other de. app that I made that shows the bug https://github.com/mrhoomanwastaken/gvis all you need to do to see this bug is to start some music and then poke around the mpris service to see the strange values that it gives. Operating System: Arch Linux KDE Plasma Version: 6.5.0 KDE Frameworks Version: 6.19.0 Qt Version: 6.10.0 Kernel Version: 6.17.5-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 8640HS w/ Radeon 760M Graphics Memory: 8 GiB of RAM (5.5 GiB usable) Graphics Processor: AMD Radeon 760M Graphics logs from gvis: {'Metadata': <{'kde:pid': <90970>, 'mpris:artUrl': <'https://lh3.googleusercontent.com/o7L7dDamGEHP-gEhb-I9zYq6rkbiykY04fDUC2-hv_a4dbah8eldjVCz_JUd6IzC3Mymol66IEcxT0Q=w544-h544-l90-rj'>, 'mpris:length': <int64 136678571>, 'mpris:trackid': <objectpath '/org/kde/plasma/browser_integration/1337'>, 'xesam:album': <'SUGAR RUSH'>, 'xesam:artist': <['AZALI']>, 'xesam:title': <'SUGAR RUSH'>, 'xesam:url': <'https://music.youtube.com/watch?v=OQ4e5PH7Tuc&list=RDAMVMv5C9l2fTwj0'>}>} ##song change## @a{sv} {} Traceback (most recent call last): File "/home/mrhooman/gitrepos/gvis/gvis.py", line 330, in on_properties_changed self.update_info() ~~~~~~~~~~~~~~~~^^ File "/home/mrhooman/gitrepos/gvis/gvis.py", line 334, in update_info update_info(self , scrobble_enabled, network) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/mrhooman/gitrepos/gvis/src/update_info.py", line 27, in update_info metadata_variant = self.source.call_sync( "org.freedesktop.DBus.Properties.Get", ...<3 lines>... None ) gi.repository.GLib.GError: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable (2) Traceback (most recent call last): File "/home/mrhooman/gitrepos/gvis/gvis.py", line 337, in update_progress return update_progress(self) File "/home/mrhooman/gitrepos/gvis/src/update_info.py", line 147, in update_progress elif self.source.get_cached_property("PlaybackStatus").unpack() == 'Playing': ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'unpack' {'CanControl': <true>, 'CanGoNext': <false>, 'CanGoPrevious': <false>, 'CanPause': <true>, 'CanPlay': <true>, 'CanSeek': <true>, 'LoopStatus': <'None'>, 'MaximumRate': <32.0>, 'Metadata': <{'kde:pid': <90970>, 'mpris:length': <int64 282935147>, 'mpris:trackid': <objectpath '/org/kde/plasma/browser_integration/1337'>, 'xesam:album': <'https://music.youtube.com'>, 'xesam:title': <'YouTube Music'>, 'xesam:url': <'https://music.youtube.com/'>}>, 'MinimumRate': <0.01>, 'PlaybackStatus': <'Playing'>, 'Position': <int64 0>, 'Rate': <1.0>, 'Volume': <1.0>} cant find accurate position in song assuming song just started No album image available. Failed to scrobble: 'NoneType' object is not subscriptable Error type: <class 'TypeError'> Traceback (most recent call last): File "/home/mrhooman/gitrepos/gvis/src/update_info.py", line 133, in update_info print(f"Attempting to scrobble: {artist_name[0]} - {song_name} - {album_name}") ~~~~~~~~~~~^^^ TypeError: 'NoneType' object is not subscriptable