From 7664d142076ec0c9c1d2718dc6a40e45d894f81c Mon Sep 17 00:00:00 2001 From: Rob Watson Date: Sun, 16 Mar 2025 13:27:25 +0100 Subject: [PATCH] fix(mediaserver): avoid spurious reset of LiveChangedAt --- internal/mediaserver/actor.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/mediaserver/actor.go b/internal/mediaserver/actor.go index ea1e035..a2fb165 100644 --- a/internal/mediaserver/actor.go +++ b/internal/mediaserver/actor.go @@ -202,11 +202,19 @@ func (s *Actor) actorLoop(containerStateC <-chan domain.Container, errC <-chan e s.logger.Error("Error fetching server state", "err", err) continue } - if ingressState.ready != s.state.Live || ingressState.listeners != s.state.Listeners { + + var shouldSendState bool + if ingressState.ready != s.state.Live { s.state.Live = ingressState.ready s.state.LiveChangedAt = time.Now() - s.state.Listeners = ingressState.listeners resetFetchTracksT(time.Second) + shouldSendState = true + } + if ingressState.listeners != s.state.Listeners { + s.state.Listeners = ingressState.listeners + shouldSendState = true + } + if shouldSendState { sendState() } case <-fetchTracksT.C: