Archived
The media service ran a 500ms repeat timer calling syncPlayingOrder() for the whole session — two CPU wakeups a second even with nothing playing. syncPlayingOrder only depends on the set of MPRIS players and each player's isPlaying state, both of which the Mpris service already signals. Replace the timer with onPlayersChanged (players appearing/disappearing) plus an Instantiator that connects isPlayingChanged for each live player, and a Component.onCompleted for the initial sync. Verified with a test MPRIS player: play/pause and player add/remove all update the active player with no periodic timer. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>