ankenyr / jellyfin-youtube-metadata-plugin

Youtube Metadata Plugin for Jellyfin
GNU Affero General Public License v3.0
481 stars 31 forks source link

Failed to deserialize the plugin manifest #92

Closed Myzel394 closed 2 months ago

Myzel394 commented 8 months ago

Tried to install the plugin, but it's not showing in the plugins catalog section and Jellyfin shows this error:

[18:39:52] [INF] [66] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 2a02:6ea0:ce08:2::a06e closed
[18:39:53] [INF] [26] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 2a02:6ea0:ce08:2::a06e request
[18:39:55] [ERR] [83] Emby.Server.Implementations.Updates.InstallationManager: Failed to deserialize the plugin manifest retrieved from https://github.com/ankenyr/jellyfin-youtube-metadata-plugin
System.Text.Json.JsonException: '<' is an invalid start of a value. Path: $ | LineNumber: 7 | BytePositionInLine: 0.
 ---> System.Text.Json.JsonReaderException: '<' is an invalid start of a value. LineNumber: 7 | BytePositionInLine: 0.
   at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
   at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte marker)
   at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte first)
   at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
   at System.Text.Json.Utf8JsonReader.Read()
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase)
   at System.Text.Json.JsonSerializer.ContinueDeserialize[TValue](ReadBufferState& bufferState, JsonReaderState& jsonReaderState, ReadStack& readStack, JsonConverter converter, JsonSerializerOptions options)
   at System.Text.Json.JsonSerializer.ReadAllAsync[TValue](Stream utf8Json, JsonTypeInfo jsonTypeInfo, CancellationToken cancellationToken)
   at System.Net.Http.Json.HttpContentJsonExtensions.ReadFromJsonAsyncCore[T](HttpContent content, Encoding sourceEncoding, JsonSerializerOptions options, CancellationToken cancellationToken)
   at System.Net.Http.Json.HttpClientJsonExtensions.GetFromJsonAsyncCore[T](Task`1 taskResponse, JsonSerializerOptions options, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Updates.InstallationManager.GetPackages(String manifestName, String manifest, Boolean filterIncompatible, CancellationToken cancellationToken)
prahal commented 2 months ago

Were you able to reproduce it? This could very well be a transient error page that was returned by Git Hub ('<' as the start of the file could well be instead of JSON).

I believe this not to be a plugin bug, but a GitHub service one. Maybe the plugin could check the JSON it receives to be valid and return an error telling when it is not instead of bubbling up an exception.

https://www.githubstatus.com/incidents/xb30mby9fs5x Nov 3, 16:10 - 19:21 UTC " a number of pages returning 404’s that should not have"?

https://www.githubstatus.com/history

ankenyr commented 2 months ago

I see this when someone doesn't use https://raw.githubusercontent.com/ankenyr/jellyfin-plugin-repo/master/manifest.json and instead uses https://github.com/ankenyr/jellyfin-plugin-repo/blob/master/manifest.json