From 2058c4494908ce403ecb0bfabb2d365fe3b578d4 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Wed, 2 Mar 2022 20:45:07 -0600 Subject: [PATCH] minor ui fixes (#668) * remove unused package * fix controller name * catch and ignore jsruntime exceptions * separate debug stage from public stage --- ErsatzTV/Controllers/ArtworkController.cs | 4 ++-- ErsatzTV/ErsatzTV.csproj | 1 - ErsatzTV/Pages/CollectionItems.razor | 18 +++++++++++++----- ErsatzTV/Pages/FragmentNavigationBase.cs | 9 ++++++++- ErsatzTV/Pages/PlexMediaSources.razor | 12 +++++++++++- ErsatzTV/Pages/TelevisionEpisodeList.razor | 9 ++++++++- ErsatzTV/Shared/MarkdownView.razor.cs | 15 ++++++++++++--- ErsatzTV/Startup.cs | 8 +++++--- 8 files changed, 59 insertions(+), 17 deletions(-) diff --git a/ErsatzTV/Controllers/ArtworkController.cs b/ErsatzTV/Controllers/ArtworkController.cs index e090b3cf8..4499fb4c7 100644 --- a/ErsatzTV/Controllers/ArtworkController.cs +++ b/ErsatzTV/Controllers/ArtworkController.cs @@ -25,12 +25,12 @@ namespace ErsatzTV.Controllers [ResponseCache(Duration = 3600)] [ApiController] [ApiExplorerSettings(IgnoreApi = true)] - public class PostersController : ControllerBase + public class ArtworkController : ControllerBase { private readonly IHttpClientFactory _httpClientFactory; private readonly IMediator _mediator; - public PostersController(IMediator mediator, IHttpClientFactory httpClientFactory) + public ArtworkController(IMediator mediator, IHttpClientFactory httpClientFactory) { _mediator = mediator; _httpClientFactory = httpClientFactory; diff --git a/ErsatzTV/ErsatzTV.csproj b/ErsatzTV/ErsatzTV.csproj index faaecb7e2..190669c33 100644 --- a/ErsatzTV/ErsatzTV.csproj +++ b/ErsatzTV/ErsatzTV.csproj @@ -11,7 +11,6 @@ - diff --git a/ErsatzTV/Pages/CollectionItems.razor b/ErsatzTV/Pages/CollectionItems.razor index 841e4e91f..8dd63bf2b 100644 --- a/ErsatzTV/Pages/CollectionItems.razor +++ b/ErsatzTV/Pages/CollectionItems.razor @@ -313,15 +313,23 @@ protected override async Task OnAfterRenderAsync(bool firstRender) { - await _jsRuntime.InvokeVoidAsync("sortableCollection", Id); - if (_data.UseCustomPlaybackOrder) + try { - await _jsRuntime.InvokeVoidAsync("enableSorting"); + await _jsRuntime.InvokeVoidAsync("sortableCollection", Id); + if (_data.UseCustomPlaybackOrder) + { + await _jsRuntime.InvokeVoidAsync("enableSorting"); + } + else + { + await _jsRuntime.InvokeVoidAsync("disableSorting"); + } } - else + catch (Exception) { - await _jsRuntime.InvokeVoidAsync("disableSorting"); + // ignored } + await base.OnAfterRenderAsync(firstRender); } diff --git a/ErsatzTV/Pages/FragmentNavigationBase.cs b/ErsatzTV/Pages/FragmentNavigationBase.cs index a3166d52d..87471d006 100644 --- a/ErsatzTV/Pages/FragmentNavigationBase.cs +++ b/ErsatzTV/Pages/FragmentNavigationBase.cs @@ -35,7 +35,14 @@ namespace ErsatzTV.Pages { if (firstRender) { - await NavManager.NavigateToFragmentAsync(JsRuntime); + try + { + await NavManager.NavigateToFragmentAsync(JsRuntime); + } + catch (Exception) + { + // ignored + } } } diff --git a/ErsatzTV/Pages/PlexMediaSources.razor b/ErsatzTV/Pages/PlexMediaSources.razor index 64d72ccde..a5756c98e 100644 --- a/ErsatzTV/Pages/PlexMediaSources.razor +++ b/ErsatzTV/Pages/PlexMediaSources.razor @@ -125,7 +125,17 @@ { Either maybeUrl = await _mediator.Send(new StartPlexPinFlow()); await maybeUrl.Match( - async url => await _jsRuntime.InvokeAsync("open", new object[] { url, "_blank" }), + async url => + { + try + { + await _jsRuntime.InvokeAsync("open", new object[] { url, "_blank" }); + } + catch (Exception) + { + // ignored + } + }, error => { _locker.UnlockPlex(); diff --git a/ErsatzTV/Pages/TelevisionEpisodeList.razor b/ErsatzTV/Pages/TelevisionEpisodeList.razor index 9a6336972..8c74ac286 100644 --- a/ErsatzTV/Pages/TelevisionEpisodeList.razor +++ b/ErsatzTV/Pages/TelevisionEpisodeList.razor @@ -180,7 +180,14 @@ { if (firstRender) { - await _navigationManager.NavigateToFragmentAsync(_jsRuntime); + try + { + await _navigationManager.NavigateToFragmentAsync(_jsRuntime); + } + catch (Exception) + { + // ignored + } } } diff --git a/ErsatzTV/Shared/MarkdownView.razor.cs b/ErsatzTV/Shared/MarkdownView.razor.cs index 690d4569d..2825ee7b5 100644 --- a/ErsatzTV/Shared/MarkdownView.razor.cs +++ b/ErsatzTV/Shared/MarkdownView.razor.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System; +using System.Threading.Tasks; using Ganss.XSS; using Markdig; using Microsoft.AspNetCore.Components; @@ -48,8 +49,16 @@ namespace ErsatzTV.Shared protected override async Task OnAfterRenderAsync(bool firstRender) { - await JsRuntime.InvokeVoidAsync("styleMarkdown"); - await base.OnAfterRenderAsync(firstRender); + try + { + await JsRuntime.InvokeVoidAsync("styleMarkdown"); + } + catch (Exception) + { + // ignored + } + + await base.OnAfterRenderAsync(true); } } } diff --git a/ErsatzTV/Startup.cs b/ErsatzTV/Startup.cs index 9e047adae..8aed3de3c 100644 --- a/ErsatzTV/Startup.cs +++ b/ErsatzTV/Startup.cs @@ -4,7 +4,6 @@ using System.IO; using System.Reflection; using System.Text; using System.Threading.Channels; -using Blazored.LocalStorage; using Bugsnag.AspNet.Core; using Dapper; using ErsatzTV.Application; @@ -94,10 +93,14 @@ namespace ErsatzTV ?.GetCustomAttribute() ?.InformationalVersion ?? "unknown"; - configuration.NotifyReleaseStages = new[] { "public" }; + configuration.NotifyReleaseStages = new[] { "public", "develop" }; +#if DEBUG + configuration.ReleaseStage = "develop"; +#else // effectively "disable" by tweaking app config configuration.ReleaseStage = bugsnagConfig.Enable ? "public" : "private"; +#endif }); services.AddCors( @@ -139,7 +142,6 @@ namespace ErsatzTV services.AddMudServices(); services.AddCourier(Assembly.GetAssembly(typeof(LibraryScanProgress))); - services.AddBlazoredLocalStorage(); Console.OutputEncoding = Encoding.UTF8;