Fix potential crash if client is nil

This commit is contained in:
Ingo Oppermann 2025-10-28 13:01:04 +01:00
parent 4adf907e42
commit d6c974460f
No known key found for this signature in database
GPG Key ID: 2AB32426E9DD229E

View File

@ -327,10 +327,30 @@ func (n *Core) connect() error {
}
func (n *Core) mediaEvents(ctx context.Context, storage string) {
defer func() {
n.logger.Warn().WithField("storage", storage).Log("Disconnected from event source")
}()
m := &Media{}
for {
ch, err := n.client.MediaEvents(ctx, storage, "/**")
select {
case <-ctx.Done():
return
default:
}
n.lock.RLock()
client := n.client
n.lock.RUnlock()
if client == nil {
n.logger.Error().WithField("storage", storage).Log("Failed to connect to event source, client not connected")
time.Sleep(5 * time.Second)
continue
}
ch, err := client.MediaEvents(ctx, storage, "/**")
if err != nil {
m.available = false
m.media = map[string]int64{}