diff --git a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs index d8d26a9bc4..6c3eb2dc4d 100644 --- a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs +++ b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs @@ -79,7 +79,7 @@ public async Task> GetIntros(BaseItem item, User user) { if (i is Movie) { - return true; + return !IsDuplicate(item, i); } } return false; @@ -162,7 +162,7 @@ public async Task> GetIntros(BaseItem item, User user) { return false; } - return true; + return !IsDuplicate(item, i.Item); }) .OrderByDescending(i => i.Score) .ThenBy(i => Guid.NewGuid()) @@ -172,6 +172,23 @@ public async Task> GetIntros(BaseItem item, User user) .Concat(customIntros.Take(1)); } + private bool IsDuplicate(BaseItem playingContent, BaseItem test) + { + var id = playingContent.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(id) && string.Equals(id, test.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + id = playingContent.GetProviderId(MetadataProviders.Tmdb); + if (!string.IsNullOrWhiteSpace(id) && string.Equals(id, test.GetProviderId(MetadataProviders.Tmdb), StringComparison.OrdinalIgnoreCase)) + { + return true; + } + + return false; + } + private CinemaModeConfiguration GetOptions() { return _serverConfig.GetConfiguration("cinemamode"); diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index ceda8f47d9..58a6f649cd 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -1417,6 +1417,10 @@ private async Task SaveCapabilities(string deviceId, SessionCapabilities capabil { _jsonSerializer.SerializeToFile(capabilities, path); } + catch (Exception ex) + { + _logger.ErrorException("Error saving to {0}", ex, path); + } finally { _capabilitiesLock.Release(); diff --git a/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceslanguages.html b/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceslanguages.html index 53aaa669fc..7273ca94f3 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceslanguages.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceslanguages.html @@ -14,64 +14,66 @@
-
+
${HeaderLanguagePreferences}

-
- - -

-
- - -

-
- - -

-
- - - - - - -
- -

+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + + + + + +
  • +
- + \ No newline at end of file diff --git a/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceswebclient.html b/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceswebclient.html index 6d7a642343..e461883ae7 100644 --- a/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceswebclient.html +++ b/MediaBrowser.WebDashboard/dashboard-ui/mypreferenceswebclient.html @@ -12,122 +12,126 @@ ${TabWebClient}
+

-
+
${HeaderHomePage}

-
- - -

-
- - - -

-
- - -

-
- - -

+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
-
+
${HeaderSettingsForThisDevice}

-
- - -

-
- - -
${LabelEnableThemeSongsHelp}
-

-
+
    +
  • + + +
  • +
  • + + +
    ${LabelEnableThemeSongsHelp}
    +
  • + +
-
+
${LabelExternalPlayers}