diff --git a/pkg/service/bmx/radiobrowser.go b/pkg/service/bmx/radiobrowser.go index 7b05657..5568a21 100644 --- a/pkg/service/bmx/radiobrowser.go +++ b/pkg/service/bmx/radiobrowser.go @@ -20,6 +20,7 @@ func RadioBrowserSearch(query string) (*models.BmxNavResponse, error) { if err != nil { return nil, err } + defer func() { _ = resp.Body.Close() }() if resp.StatusCode != http.StatusOK { diff --git a/pkg/service/handlers/server.go b/pkg/service/handlers/server.go index 53ad5ab..b5fcb80 100644 --- a/pkg/service/handlers/server.go +++ b/pkg/service/handlers/server.go @@ -1049,10 +1049,12 @@ func (s *Server) handleDiscoveredDevice(d models.DiscoveredDevice) { if existing := s.findExistingDeviceInfoByDeviceID(deviceID); existing != nil { storedAccount = existing.AccountID } + accountID := liveInfo.MargeAccountUUID if accountID == "" { accountID = storedAccount } + if accountID == "" { accountID = "default" } diff --git a/pkg/service/health/checks_refresh_sources.go b/pkg/service/health/checks_refresh_sources.go index 601ff71..8eda5af 100644 --- a/pkg/service/health/checks_refresh_sources.go +++ b/pkg/service/health/checks_refresh_sources.go @@ -114,6 +114,7 @@ func postSourcesUpdated(ds *datastore.DataStore, target Target) (string, error) if err != nil { return "", fmt.Errorf("post to speaker: %w", err) } + defer func() { _ = resp.Body.Close() }() if resp.StatusCode >= 300 { diff --git a/pkg/service/health/checks_test_playback.go b/pkg/service/health/checks_test_playback.go index f580756..afadcfe 100644 --- a/pkg/service/health/checks_test_playback.go +++ b/pkg/service/health/checks_test_playback.go @@ -132,6 +132,7 @@ func playDingOnDevice(ds *datastore.DataStore, serverURL string, target Target) if err != nil { return "", fmt.Errorf("post to speaker: %w", err) } + defer func() { _ = resp.Body.Close() }() if resp.StatusCode >= 300 { diff --git a/pkg/service/health/probe.go b/pkg/service/health/probe.go index 017306e..bf2e356 100644 --- a/pkg/service/health/probe.go +++ b/pkg/service/health/probe.go @@ -63,6 +63,7 @@ func ProbeGet(ctx context.Context, rawURL string, timeout time.Duration) ProbeRe result.Err = err.Error() return result } + defer func() { _ = resp.Body.Close() }() body, err := io.ReadAll(io.LimitReader(resp.Body, 1<<20)) // 1 MiB cap