diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs index 28c3bbb7be..e3a00efb5b 100644 --- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs +++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs @@ -208,6 +208,12 @@ namespace MediaBrowser.Common.Implementations.Security using (var response = await _httpClient.Post(options).ConfigureAwait(false)) { var reg = _jsonSerializer.DeserializeFromStream(response.Content); + + if (reg == null) + { + _logger.Warn("Result from appstore registration was null. Defaulting to empty."); + reg = new RegRecord(); + } if (!String.IsNullOrEmpty(reg.key)) { SupporterKey = reg.key; diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index 5163c3de4a..92ca9e9703 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -296,9 +296,16 @@ namespace MediaBrowser.Controller.Entities.TV { var hasChanges = base.BeforeMetadataRefresh(); - if (LibraryManager.FillMissingEpisodeNumbersFromPath(this)) + try { - hasChanges = true; + if (LibraryManager.FillMissingEpisodeNumbersFromPath(this)) + { + hasChanges = true; + } + } + catch (Exception ex) + { + Logger.ErrorException("Error in FillMissingEpisodeNumbersFromPath. Episode: {0}", ex, Path ?? Name ?? Id.ToString()); } return hasChanges; diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 1dc29cdde2..6860aeff32 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -144,7 +144,8 @@ namespace MediaBrowser.Providers.Manager if (providers.Count > 0) { var id = itemOfType.GetLookupInfo(); - await ItemIdentifier.FindIdentities(id, ProviderManager, cancellationToken); + + await FindIdentities(id, cancellationToken).ConfigureAwait(false); var result = await RefreshWithProviders(metadataResult, id, refreshOptions, providers, itemImageProvider, cancellationToken).ConfigureAwait(false); @@ -216,6 +217,18 @@ namespace MediaBrowser.Providers.Manager return updateType; } + private async Task FindIdentities(TIdType id, CancellationToken cancellationToken) + { + try + { + await ItemIdentifier.FindIdentities(id, ProviderManager, cancellationToken).ConfigureAwait(false); + } + catch (Exception ex) + { + Logger.ErrorException("Error in FindIdentities", ex); + } + } + private DateTime GetLastRefreshDate(IHasMetadata item) { if (item.DateLastRefreshed != default(DateTime))