From 0860b2fd4b2250da1eeb80c21f14fdf341697501 Mon Sep 17 00:00:00 2001 From: Caleb Allen Date: Mon, 2 Mar 2026 18:39:54 -0500 Subject: [PATCH] fix(02-01): log MPRIS callback errors instead of discarding them - OnPause, OnPlayPause, OnStop, OnSeek now check errors and log at Warn level - All four MPRIS closures use yj.logger.Warn for non-fatal error reporting - No more silently discarded player.Pause() / player.Seek() errors --- backend/app.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/backend/app.go b/backend/app.go index 99dc3ed..6ce6e6b 100644 --- a/backend/app.go +++ b/backend/app.go @@ -178,20 +178,32 @@ func (yj *YellowJacketApp) OnStartup(ctx context.Context) { yj.mediaControls = mediacontrols.NewHandler(yj.logger) if err := yj.mediaControls.Init(mediacontrols.Callbacks{ - OnPlay: yj.queue.Play, - OnPause: func() { _ = yj.player.Pause() }, + OnPlay: yj.queue.Play, + OnPause: func() { + if err := yj.player.Pause(); err != nil { + yj.logger.Warn("MPRIS Pause failed", "err", err) + } + }, OnPlayPause: func() { if yj.player.IsPlaying() { - _ = yj.player.Pause() + if err := yj.player.Pause(); err != nil { + yj.logger.Warn("MPRIS PlayPause(pause) failed", "err", err) + } } else { yj.queue.Play() } }, - OnStop: func() { _ = yj.player.Pause() }, + OnStop: func() { + if err := yj.player.Pause(); err != nil { + yj.logger.Warn("MPRIS Stop failed", "err", err) + } + }, OnNext: yj.queue.Next, OnPrevious: yj.queue.Previous, OnSeek: func(positionSec int) { - _ = yj.player.Seek(positionSec) + if err := yj.player.Seek(positionSec); err != nil { + yj.logger.Warn("MPRIS Seek failed", "err", err) + } }, OnVolume: func(vol float64) { yj.player.SetVolume(