diff --git a/Emby.Server.Implementations/Browser/BrowserLauncher.cs b/Emby.Server.Implementations/Browser/BrowserLauncher.cs index 8677ce9aaa..945231bd78 100644 --- a/Emby.Server.Implementations/Browser/BrowserLauncher.cs +++ b/Emby.Server.Implementations/Browser/BrowserLauncher.cs @@ -26,7 +26,7 @@ private static void OpenDashboardPage(string page, IServerApplicationHost appHos /// The app host. public static void OpenWizard(IServerApplicationHost appHost) { - OpenDashboardPage("index.html?start=wizard", appHost); + OpenDashboardPage("index.html#!/wizardstart.html", appHost); } /// diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 0693d918a4..03effeba50 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -628,6 +628,16 @@ await Write(httpRes, return; } + if (localPath.EndsWith("web/dashboard.html", StringComparison.OrdinalIgnoreCase) && httpReq.UrlReferrer == null) + { + RedirectToUrl(httpRes, "index.html#!/dashboard.html"); + } + + if (localPath.EndsWith("web/home.html", StringComparison.OrdinalIgnoreCase) && httpReq.UrlReferrer == null) + { + RedirectToUrl(httpRes, "index.html"); + } + if (!string.IsNullOrEmpty(GlobalResponse)) { // We don't want the address pings in ApplicationHost to fail diff --git a/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs b/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs index 5e616426ba..9930b7496d 100644 --- a/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs +++ b/Emby.Server.Implementations/HttpServer/HttpResultFactory.cs @@ -248,8 +248,8 @@ private string GetCompressionType(IRequest request) if (acceptEncoding != null) { - if (_brotliCompressor != null && acceptEncoding.IndexOf("br", StringComparison.OrdinalIgnoreCase) != -1) - return "br"; + //if (_brotliCompressor != null && acceptEncoding.IndexOf("br", StringComparison.OrdinalIgnoreCase) != -1) + // return "br"; if (acceptEncoding.IndexOf("deflate", StringComparison.OrdinalIgnoreCase) != -1) return "deflate"; diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs index a8cbc08fd4..d21abb74e8 100644 --- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs +++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs @@ -1174,7 +1174,7 @@ async void _timerProvider_TimerFired(object sender, GenericEventArgs { var timer = e.Argument; - _logger.Info("Recording timer fired."); + _logger.Info("Recording timer fired for {0}.", timer.Name); try { diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs index b1b324fcf2..7365e7312d 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbSeriesProvider.cs @@ -208,13 +208,17 @@ private async Task> FetchMovieData(string tmdbId, string result.Item = new Series(); result.ResultLanguage = seriesInfo.ResultLanguage; - ProcessMainInfo(result.Item, seriesInfo, preferredCountryCode); + var settings = await MovieDbProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); + + ProcessMainInfo(result, seriesInfo, preferredCountryCode, settings); return result; } - private void ProcessMainInfo(Series series, RootObject seriesInfo, string preferredCountryCode) + private void ProcessMainInfo(MetadataResult seriesResult, RootObject seriesInfo, string preferredCountryCode, TmdbSettingsResult settings) { + var series = seriesResult.Item; + series.Name = seriesInfo.name; series.SetProviderId(MetadataProviders.Tmdb, seriesInfo.id.ToString(_usCulture)); @@ -307,6 +311,35 @@ private void ProcessMainInfo(Series series, RootObject seriesInfo, string prefer } } } + + seriesResult.ResetPeople(); + var tmdbImageUrl = settings.images.GetImageUrl("original"); + + if (seriesInfo.credits != null && seriesInfo.credits.cast != null) + { + foreach (var actor in seriesInfo.credits.cast.OrderBy(a => a.order)) + { + var personInfo = new PersonInfo + { + Name = actor.name.Trim(), + Role = actor.character, + Type = PersonType.Actor, + SortOrder = actor.order + }; + + if (!string.IsNullOrWhiteSpace(actor.profile_path)) + { + personInfo.ImageUrl = tmdbImageUrl + actor.profile_path; + } + + if (actor.id > 0) + { + personInfo.SetProviderId(MetadataProviders.Tmdb, actor.id.ToString(CultureInfo.InvariantCulture)); + } + + seriesResult.AddPerson(personInfo); + } + } } internal static string GetSeriesDataPath(IApplicationPaths appPaths, string tmdbId) diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 03427e89d7..b7c63f9449 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -316,7 +316,7 @@ public async Task Get(GetDashboardResource request) // But don't redirect if an html import is being requested. if (path.IndexOf("bower_components", StringComparison.OrdinalIgnoreCase) == -1) { - Request.Response.Redirect("wizardstart.html"); + Request.Response.Redirect("index.html#!/wizardstart.html"); return null; } } diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs index d302e40a09..619d0660f5 100644 --- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs +++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs @@ -142,15 +142,6 @@ private string GetMetaTags(string mode) sb.Append(""); } - if (string.Equals(mode, "cordova", StringComparison.OrdinalIgnoreCase)) - { - sb.Append(""); - } - else - { - sb.Append(""); - } - return sb.ToString(); } diff --git a/SharedVersion.cs b/SharedVersion.cs index e60cd9c242..54d3c0e92e 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.4.1.16")] +[assembly: AssemblyVersion("3.4.1.17")] diff --git a/ThirdParty/emby/Emby.Server.Connect.dll b/ThirdParty/emby/Emby.Server.Connect.dll index f58173ce61..28170e317a 100644 Binary files a/ThirdParty/emby/Emby.Server.Connect.dll and b/ThirdParty/emby/Emby.Server.Connect.dll differ diff --git a/ThirdParty/emby/Emby.Server.MediaEncoding.dll b/ThirdParty/emby/Emby.Server.MediaEncoding.dll index 52d22bce5d..8f7def8f16 100644 Binary files a/ThirdParty/emby/Emby.Server.MediaEncoding.dll and b/ThirdParty/emby/Emby.Server.MediaEncoding.dll differ diff --git a/ThirdParty/emby/Emby.Server.Sync.dll b/ThirdParty/emby/Emby.Server.Sync.dll index fac722acc9..a11117c896 100644 Binary files a/ThirdParty/emby/Emby.Server.Sync.dll and b/ThirdParty/emby/Emby.Server.Sync.dll differ