From 1c09c6005cffa1bcfdf5a4c6b750c7ef3f9d4e57 Mon Sep 17 00:00:00 2001 From: Sean Wilson <18518299+sean-wils@users.noreply.github.com> Date: Tue, 21 Apr 2026 00:54:04 +0100 Subject: [PATCH] Propagate Trakt token refresh failures instead of swallowing exceptions --- .../ImportLists/Trakt/TraktImportBase.cs | 32 ++++++++----------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/NzbDrone.Core/ImportLists/Trakt/TraktImportBase.cs b/src/NzbDrone.Core/ImportLists/Trakt/TraktImportBase.cs index b7397138c..fc2e2f1ad 100644 --- a/src/NzbDrone.Core/ImportLists/Trakt/TraktImportBase.cs +++ b/src/NzbDrone.Core/ImportLists/Trakt/TraktImportBase.cs @@ -109,7 +109,7 @@ private string GetUserName(string accessToken) } catch (HttpException) { - _logger.Warn($"Error refreshing trakt access token"); + _logger.Warn("Error retrieving Trakt user settings"); } return null; @@ -125,26 +125,22 @@ private void RefreshToken() .AddQueryParam("refresh_token", Settings.RefreshToken) .Build(); - try + var response = _httpClient.Get(request); + + if (response?.Resource == null) { - var response = _httpClient.Get(request); - - if (response != null && response.Resource != null) - { - var token = response.Resource; - Settings.AccessToken = token.AccessToken; - Settings.Expires = DateTime.UtcNow.AddSeconds(token.ExpiresIn); - Settings.RefreshToken = token.RefreshToken ?? Settings.RefreshToken; - - if (Definition.Id > 0) - { - _importListRepository.UpdateSettings((ImportListDefinition)Definition); - } - } + _logger.Warn("Trakt token refresh returned an empty response"); + return; } - catch (HttpException) + + var token = response.Resource; + Settings.AccessToken = token.AccessToken; + Settings.Expires = DateTime.UtcNow.AddSeconds(token.ExpiresIn); + Settings.RefreshToken = token.RefreshToken ?? Settings.RefreshToken; + + if (Definition.Id > 0) { - _logger.Warn($"Error refreshing trakt access token"); + _importListRepository.UpdateSettings((ImportListDefinition)Definition); } } }