GithubHelp home page GithubHelp logo

lizardbyte / themerr-jellyfin Goto Github PK

View Code? Open in Web Editor NEW
96.0 1.0 7.0 21.95 MB

Plugin for Jellyfin that adds theme songs to movies and tv shows using ThemerrDB.

Home Page: https://app.lizardbyte.dev/ThemerrDB

License: GNU Affero General Public License v3.0

Dockerfile 3.02% C# 76.79% HTML 20.19%
csharp jellyfin jellyfin-plugin replicator-release-notifications docker python rtd

themerr-jellyfin's Introduction

Overview

LizardByte has the full documentation hosted on Read the Docs.

About

Themerr-jellyfin is a plugin for Jellyfin that adds theme songs to movies using ThemerrDB.

Integrations

GitHub Workflow Status (CI) Read the Docs Codecov

Downloads

GitHub Releases Docker

themerr-jellyfin's People

Contributors

1xff avatar dependabot[bot] avatar lizardbyte-bot avatar reenignearcher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

themerr-jellyfin's Issues

Semicolons in titles truncates them

Describe the Bug

If a show or movie contains a semicolon, for example "Steins;Gate", then trying to add an theme request will truncate the issues title resulting in "[TV SHOW]: Steins"
I've created a patch that fixes this that I'll PR shortly.

Expected Behavior

The full issue title should be preserved, for the given example it should be "[TV SHOW]: Steins;Gate (2011)" and not "[TV SHOW]: Steins"

Additional Context

This can be seen in the edited title of this theme request:
LizardByte/ThemerrDB#3849

Request timed out when calling /Themerr/GetProgress

Describe the Bug

I'm getting Unexpected error occurred creating progress dashboard when I navigate to the plugin settings after some time. I think this is caused by because my jellyfin server can't collect all the themes fast enough (I'm using an old laptop for jellyfin). Browser console log shows [Themerr] - undefined
Timeline:
3:35 navigated to the plugin settings, waiting for the dashboard to show up -> Unexpected error occurred creating progress dashboard -> In the jellyfin logs I can see the collected items at: 03:36:10, but it doesn't show up after the error
error

Expected Behavior

Show the dashboard and the themes

Additional Context

OS: Win 7
Jellyfin native Installation: 10.9.1
Plugin Version: 2024.514.151.24
Plugin Installation type: Repository
jellyfin.log
browser.log

All downloaded mp3 get corrupted

Describe the Bug

Plugin works fine, creates Themerr.json and downloads theme.mp3, however all mp3 get corrupted.

Expected Behavior

No response

Additional Context

Running latest linuxserver jellyfin image and nightly Themerr-jellyfin docker mod.
LOGS:

[2023-09-15 10:51:04.807 +01:00] [INF] [132] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webma", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webm", AudioCodec: "webma", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2023-09-15 10:51:04.808 +01:00] [INF] [132] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "tiagalho". EnableAudioPlaybackTranscoding: True
[2023-09-15 10:51:04.850 +01:00] [INF] [10] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: null, MaxAlbumArtHeight: null, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: 8000000, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webma", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webm", AudioCodec: "webma", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: "", AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False, Conditions: [] }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2023-09-15 10:51:04.852 +01:00] [INF] [10] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "tiagalho". EnableAudioPlaybackTranscoding: True
[2023-09-15 10:51:05.112 +01:00] [INF] [10] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.8.10" playing "theme". Stopped at "1097" ms

Not working in my Jellyfin install

Describe the Bug

The plugin can`t find theme songs. My jellyfin is pt-BR (the translations are missing).
2024-05-10-16-17-tv darklyn org

Expected Behavior

No response

Additional Context

Logs:

[15:38:06] [INF] [43] Jellyfin.Plugin.Themerr.ScheduledTasks.ThemerrTasks: Starting plugin, Downloading supported Theme Songs...
[15:38:07] [WRN] [43] Jellyfin.Plugin.Themerr.ThemerrManager: Missing from ThemerrDB: O Despertar de uma Paixão, contribute:
  https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20O%20Despertar%20de%20uma%20Paixão%20(2006)&database_url=https://www.themoviedb.org/movie/14202
System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetYoutubeThemeUrl(String themerrDbUrl, BaseItem item)
[15:38:37] [WRN] [43] Jellyfin.Plugin.Themerr.ThemerrManager: Missing from ThemerrDB: Sou Louco Por Você, contribute:
  https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Sou%20Louco%20Por%20Você%20(2012)&database_url=https://www.themoviedb.org/movie/109689
System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetYoutubeThemeUrl(String themerrDbUrl, BaseItem item)
[15:39:08] [WRN] [43] Jellyfin.Plugin.Themerr.ThemerrManager: Missing from ThemerrDB: A Árvore do Amor, contribute:
  https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Árvore%20do%20Amor%20(2010)&database_url=https://www.themoviedb.org/movie/50542
System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetYoutubeThemeUrl(String themerrDbUrl, BaseItem item)
[15:39:38] [WRN] [43] Jellyfin.Plugin.Themerr.ThemerrManager: Missing from ThemerrDB: A Pior Pessoa do Mundo, contribute:
  https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Pior%20Pessoa%20do%20Mundo%20(2021)&database_url=https://www.themoviedb.org/movie/660120
System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetYoutubeThemeUrl(String themerrDbUrl, BaseItem item)
[15:41:09] [WRN] [43] Jellyfin.Plugin.Themerr.ThemerrManager: Missing from ThemerrDB: Mommy, contribute:
  https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Mommy%20(2014)&database_url=https://www.themoviedb.org/movie/265177
System.AggregateException: One or more errors occurred. (Response status code does not indicate success: 404 (Not Found).)
 ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetYoutubeThemeUrl(String themerrDbUrl, BaseItem item)```



More logs:

   
```[16:15:45] [INF] [19] Jellyfin.Plugin.Themerr.Api.ThemerrController: Server culture: pt-BR
[16:15:45] [WRN] [19] Jellyfin.Plugin.Themerr.Api.ThemerrController: Locale resource does not exist: Jellyfin.Plugin.Themerr.Locale.pt_BR.json
[16:15:45] [WRN] [19] Jellyfin.Plugin.Themerr.Api.ThemerrController: Locale resource does not exist: Jellyfin.Plugin.Themerr.Locale.pt.json
[16:15:46] [INF] [40] Jellyfin.Plugin.Themerr.Api.ThemerrController: Progress Items: {"items":[{"name":"A Árvore do Amor","id":"075c1889-db4e-f8e7-daba-377a381c3e6b","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Árvore%20do%20Amor%20(2010)&database_url=https://www.themoviedb.org/movie/50542","theme_provider":null,"type":"Movie","year":2010},{"name":"A Baleia","id":"80161451-0d55-dd60-1b0c-2ffca36aef24","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Baleia%20(2022)&database_url=https://www.themoviedb.org/movie/785084","theme_provider":null,"type":"Movie","year":2022},{"name":"A Pior Pessoa do Mundo","id":"0e097417-3246-9685-812d-604a085f5123","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Pior%20Pessoa%20do%20Mundo%20(2021)&database_url=https://www.themoviedb.org/movie/660120","theme_provider":null,"type":"Movie","year":2021},{"name":"A Sociedade da Neve","id":"c388bdb7-976e-c3ba-519b-347329e9b2fa","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20A%20Sociedade%20da%20Neve%20(2023)&database_url=https://www.themoviedb.org/movie/906126","theme_provider":null,"type":"Movie","year":2023},{"name":"Ahsoka","id":"50a5cd45-4f13-c970-aa4b-fedea3638f8d","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[TV SHOW]:%20Ahsoka%20(2023)&database_url=https://www.themoviedb.org/tv/114461","theme_provider":null,"type":"Series","year":2023},{"name":"Amnésia","id":"94ea2869-9297-6413-812a-327fed1802da","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Amnésia%20(2000)&database_url=https://www.themoviedb.org/movie/77","theme_provider":null,"type":"Movie","year":2000},{"name":"Andrei Rublev","id":"c38e8c59-6cac-e38d-a8c0-12d36795f839","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Andrei%20Rublev%20(1966)&database_url=https://www.themoviedb.org/movie/895","theme_provider":null,"type":"Movie","year":1966},{"name":"Barbie","id":"05879b5d-ac54-996b-41c5-798a7ff88baa","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Barbie%20(2023)&database_url=https://www.themoviedb.org/movie/346698","theme_provider":null,"type":"Movie","year":2023},{"name":"Ben-Hur","id":"c1dc96f7-4272-20b5-0d51-37646abdc37a","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Ben-Hur%20(1959)&database_url=https://www.themoviedb.org/movie/665","theme_provider":null,"type":"Movie","year":1959},{"name":"Blade II: O Caçador de Vampiros","id":"22ed2f8d-29ae-9480-9687-eb797a562820","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Blade%20II:%20O%20Caçador%20de%20Vampiros%20(2002)&database_url=https://www.themoviedb.org/movie/36586","theme_provider":null,"type":"Movie","year":2002},{"name":"Bob Marley: One Love","id":"c722cd5e-7fbe-d4a3-f0e8-01b6d37c5f00","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Bob%20Marley:%20One%20Love%20(2024)&database_url=https://www.themoviedb.org/movie/802219","theme_provider":null,"type":"Movie","year":2024},{"name":"Cartas de Iwo Jima","id":"2b075921-c16d-7d74-5f9c-aaa32899808d","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Cartas%20de%20Iwo%20Jima%20(2006)&database_url=https://www.themoviedb.org/movie/1251","theme_provider":null,"type":"Movie","year":2006},{"name":"Cidadão Kane","id":"52393ac3-4901-6bc0-404f-54a9fa1990c3","issue_url":"https://github.com/LizardByte/ThemerrDB/issues/new?assignees=&labels=request-theme&template=theme.yml&title=[MOVIE]:%20Cidadão%20Kane%20(1941)&database_url=https://www.themoviedb.org/movie/15","theme_provider":null,"type":"Movie","year":1941}[...]```

Not loading any theme songs

Describe the Bug

I have Themer and TMDb installed, and hit download theme songs, but nothing happens and it never plays any when browsing movies.

Any suggestions? this plugin seems awesome if I could only get it working, thanks!

Expected Behavior

I am hoping to get it to play theme songs

Additional Context

No response

Unsupported in Jellyfin 10.9.0+

Describe the Bug

Seems like Themerr is not working in Jellyfin 10.9.
Installed the latest version, but still, doesn't work.
Screenshot 2024-05-13 at 10 45 05

Expected Behavior

No response

Additional Context

Themerr version: 2024.511.1724.56
Jellyfin version: 10.9.1

Error processing request. URL "POST"

Describe the Bug

I'm receiving the following error when trying to run Themerr-jellyfin.

Jellyfin Version : 10.8.8

Themerr-Jellyfin Version : 0.0.1.0

Operating System: Linux

Architecture: X64`

[2023-02-16 09:56:01.828 +00:00] [ERR] [123] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "POST" "/Themerr/DownloadMovies".
Newtonsoft.Json.JsonReaderException: Additional text encountered after finished reading JSON content: }. Path '', line 1, position 120.
   at Newtonsoft.Json.JsonTextReader.Read()
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Jellyfin.Plugin.Themerr.ThemerrManager.DownloadAllThemerr()
   at Jellyfin.Plugin.Themerr.Api.ThemerrController.DownloadMovieThemerrRequest()
   at lambda_method1017(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

Is there anyway to fix this?

Expected Behavior

No response

Additional Context

No response

Some theme music files won't play on Jellyfin Tizen (Jellyfin 10.9.2)

Describe the Bug

Hello,

After upgrading Jellyfin server to the latest version 10.9.2 and also upgrading Jellyfin Tizen clien and Themerr plugin, some new mp3 theme files like for a movie "Legend (2015)" are not playing at all. Old mp3 files, which were already downloaded are unaffected. Jellyfin Tizen client is reporting error when trying to play theme music that media is not supported.

I analyzed jellyfin logs and found this error: MediaBrowser.Providers.Music.AudioMetadataService: Error in "Probe Provider"
TagLib.CorruptFileException: MPEG audio header not found.

I then analyzed specific mp3 files with this program https://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header and confirmed that MPEG audio header is indeed missing ("No frame found within tolerance range" error). Files that Jellyfin Tizen client can play with no problems show correct MPEG Audio Header.

Just a note that these files with missing MPEG audio header are playing with no problems on Windows client

Expected Behavior

No response

Additional Context

No response

Volume too high on movie page

Describe the Bug

Theme starts at the maximum volume when opening a movie/series page without any option to set volume.

Expected Behavior

Option to set volume in settings

Additional Context

No response

Dockermod causes jellyfin to crash due to config files ownership

Describe the Bug

TLDR: The DOCKER_MOD installs the config dir and files with root ownership instead of the user that jellyfin runs as, causing jellyfin to crash on startup.

I have jellyfin running in a docker container on linux which has been working well for some time. I'm using the linuxserver/jellyfin image, along with their recommended PUID and PGUID options set to 1000, and UMASK_SET of 022.

Following the install docs, I added DOCKER_MODS=lizardbyte/themerr-jellyfin:latest to the environment variables in my docker-compose.yaml and issued a docker-compose up -d.

Examining the jellyfin logs reveals that the server repeatedly crashes due to an exception in the Themerr plugin with System.UnauthorizedAccessException: Access to the path '/config/data/plugins/Themerr/meta.json' is denied.

I noticed that the directory /config/data/plugins/Themerr and its files are all owned by root instead of the UID configured for the container, hence why the plugin is unable to access them once it starts up in jellyfin.

I manually chmod'd the files and everything fired up OK.

From looking at the linuxserver s6 init scripts I am guessing the fix would be to place an init script so that s6 changes ownership to the abc user on startup. Their own docker-mods docs don't seem to cover this situation, but maybe some other docker-mods out there have a simple solution.

It's likely this only happens if the mod is installed after jellyfin has already been initialised previously.

Expected Behavior

The jellyfin server should start and begin answering network requests instead of crashing.

Additional Context

Complete cycle from the logfile - this pattern repeats as docker restarts the container:

jellyfin_1   | [22:59:28] [INF] [1] Main: Jellyfin version: 10.8.10
jellyfin_1   | [22:59:28] [INF] [1] Main: Environment Variables: ["[JELLYFIN_WEB_DIR, /usr/share/jellyfin/web]", "[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_PublishedServerUrl, https://XXXXXXXXXXX/]", "[JELLYFIN_CONFIG_DIR, /config]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_DATA_DIR, /config/data]"]
jellyfin_1   | [22:59:28] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
jellyfin_1   | [22:59:28] [INF] [1] Main: Operating system: Linux
jellyfin_1   | [22:59:28] [INF] [1] Main: Architecture: X64
jellyfin_1   | [22:59:28] [INF] [1] Main: 64-Bit Process: True
jellyfin_1   | [22:59:28] [INF] [1] Main: User Interactive: True
jellyfin_1   | [22:59:28] [INF] [1] Main: Processor count: 32
jellyfin_1   | [22:59:28] [INF] [1] Main: Program data path: /config/data
jellyfin_1   | [22:59:28] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web
jellyfin_1   | [22:59:28] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /config/cache
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Bookshelf, Version=9.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Bookshelf_9.0.0.0/Jellyfin.Plugin.Bookshelf.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.CoverArtArchive, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Cover Art Archive_7.0.0.0/Jellyfin.Plugin.CoverArtArchive.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly MetaBrainz.Common.Json, Version=5.0.0.0, Culture=neutral, PublicKeyToken=be12cbb629c03021 from /config/data/plugins/Cover Art Archive_7.0.0.0/MetaBrainz.Common.Json.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly MetaBrainz.MusicBrainz.CoverArt, Version=4.0.0.0, Culture=neutral, PublicKeyToken=be12cbb629c03021 from /config/data/plugins/Cover Art Archive_7.0.0.0/MetaBrainz.MusicBrainz.CoverArt.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Fanart, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Fanart_10.0.0.0/Jellyfin.Plugin.Fanart.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Opds, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/OPDS_4.0.0.0/Jellyfin.Plugin.Opds.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.OpenSubtitles, Version=19.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Open Subtitles_19.0.0.0/Jellyfin.Plugin.OpenSubtitles.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Themerr, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Themerr/Jellyfin.Plugin.Themerr.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly YoutubeExplode, Version=6.2.5.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Themerr/YoutubeExplode.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.Tvdb, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/TheTVDB_10.0.0.0/Jellyfin.Plugin.Tvdb.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly TvDbSharper, Version=3.2.2.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/TheTVDB_10.0.0.0/TvDbSharper.dll
jellyfin_1   | [22:59:29] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly Jellyfin.Plugin.TMDbBoxSets, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/TMDb Box Sets_10.0.0.0/Jellyfin.Plugin.TMDbBoxSets.dll
jellyfin_1   | [22:59:29] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [192.168.0.0/16,10.0.0.0/8]
jellyfin_1   | [22:59:29] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
jellyfin_1   | [22:59:29] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [192.168.0.0/16,10.0.0.0/8]
jellyfin_1   | [22:59:29] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
jellyfin_1   | [22:59:29] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Bookshelf 9.0.0.0
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Cover Art Archive 7.0.0.0
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Fanart 10.0.0.0
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OPDS Feed 4.0.0.0
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: Open Subtitles 19.0.0.0
jellyfin_1   | [22:59:40] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Error creating Jellyfin.Plugin.Themerr.Plugin
jellyfin_1   | System.UnauthorizedAccessException: Access to the path '/config/data/plugins/Themerr/meta.json' is denied.
jellyfin_1   |  ---> System.IO.IOException: Permission denied
jellyfin_1   |    --- End of inner exception stack trace ---
jellyfin_1   |    at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
jellyfin_1   |    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
jellyfin_1   |    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
jellyfin_1   |    at System.IO.File.WriteAllText(String path, String contents)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.SaveManifest(PluginManifest manifest, String path)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.CreatePluginInstance(Type type)
jellyfin_1   | [22:59:40] [FTL] [1] Main: Error while starting server.
jellyfin_1   | System.UnauthorizedAccessException: Access to the path '/config/data/plugins/Themerr/meta.json' is denied.
jellyfin_1   |  ---> System.IO.IOException: Permission denied
jellyfin_1   |    --- End of inner exception stack trace ---
jellyfin_1   |    at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
jellyfin_1   |    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
jellyfin_1   |    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.Strategies.FileStreamHelpers.ChooseStrategy(FileStream fileStream, String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
jellyfin_1   |    at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
jellyfin_1   |    at System.IO.File.WriteAllText(String path, String contents)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.SaveManifest(PluginManifest manifest, String path)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.ChangePluginState(LocalPlugin plugin, PluginStatus state)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.CreatePluginInstance(Type type)
jellyfin_1   |    at Emby.Server.Implementations.ApplicationHost.<>c__DisplayClass99_0`1.<GetExports>b__0(Type i)
jellyfin_1   |    at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
jellyfin_1   |    at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
jellyfin_1   |    at System.Linq.Enumerable.CastIterator[TResult](IEnumerable source)+MoveNext()
jellyfin_1   |    at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
jellyfin_1   |    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
jellyfin_1   |    at Emby.Server.Implementations.ApplicationHost.GetExports[T](CreationDelegateFactory defaultFunc, Boolean manageLifetime)
jellyfin_1   |    at Emby.Server.Implementations.Plugins.PluginManager.CreatePlugins()
jellyfin_1   |    at Emby.Server.Implementations.ApplicationHost.FindParts()
jellyfin_1   |    at Emby.Server.Implementations.ApplicationHost.InitializeServices()
jellyfin_1   |    at Jellyfin.Server.Program.StartApp(StartupOptions options)
jellyfin_1   | [22:59:40] [INF] [1] Main: Running query planner optimizations in the database... This might take a while
jellyfin_1   | [22:59:40] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
jellyfin_1   | [22:59:40] [INF] [2] Main: Received a SIGTERM signal, shutting down

Newtonsoft.Json.JsonReaderException: Additional text encountered after finished reading JSON content

Describe the Bug

When the plugin settings window is opened. it throws an error "Unexpected error occurred creating progress dashboard" and nothing else except the setting to change the update interval is shown.
Screenshot 2024-05-14 103121

[10:30:49] [INF] [15] Jellyfin.Plugin.Themerr.Api.ThemerrController: Server culture: en-US
[10:30:54] [ERR] [61] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /Themerr/GetProgress.
Newtonsoft.Json.JsonReaderException: Additional text encountered after finished reading JSON content: }. Path '', line 1, position 167.
   at Newtonsoft.Json.JsonTextReader.Read()
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetExistingThemerrDataValue(String key, String themerrDataPath)
   at Jellyfin.Plugin.Themerr.ThemerrManager.GetThemeProvider(BaseItem item)
   at Jellyfin.Plugin.Themerr.Api.ThemerrController.GetProgress()
   at lambda_method2175(Closure, Object, Object[])
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

Also, the update theme songs task fails midway.

https://pastebin.com/SLZE4qmG

I tried refreshing all metadata for my libraries and also tried completely removing the plugin and residues and reinstalling. None seemed to work or change the behavior of the plugin.

Expected Behavior

A progress and list of movie and show names should have been shown inplace of an error and the scheduled task should have passed without an error.

Additional Context

OS: Ubuntu Linux 24.04 Noble Numbat
Jellyfin Installation: Official Docker 10.9.1
Kernel: 6.8.0-31-generic
Plugin Version: 2024.514.151.24
Plugin Installation type: Repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.