[GH-ISSUE #78] [Bug]: Plugin forgets setting after every update so far #54

Open
opened 2026-03-23 20:35:28 +00:00 by mirror · 5 comments
Owner

Originally created by @jsuelwald on GitHub (Dec 4, 2025).
Original GitHub issue: https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/78

I've read the documentation

  • I'm running the latest version of tubearchivist-jf-plugin.
  • I'm running the latest version of TubeArchivist.
  • I have read the how to open an issue guide, particularly the bug report section.
  • I have searched for both closed and open already existing issues about the problem I am reporting.

Operating System

Linux

Your Bug Report

Describe the bug

Plugin forgets setting after every update so far

Steps To Reproduce

Set API, URL etc. and wait for update

Expected behavior

Settings should not be forgotten

Relevant Jellyfin log output

[2025-12-04 06:10:49.957 +01:00] [INF] Stopping directory watching for path "/mnt/nas_home/Vid/Serien"
[2025-12-04 06:10:49.958 +01:00] [INF] Validating media library
[2025-12-04 06:12:10.822 +01:00] [ERR] Error in "TubeArchivist"
System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2025-12-04 06:12:10.822 +01:00] [ERR] Error in "TubeArchivist"
System.InvalidOperationException: There was an error generating the XML document.
 ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'.
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o)
   at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file)
   at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config)
   at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration()
   at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration()
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2025-12-04 06:12:10.982 +01:00] [ERR] Error in "TubeArchivist"
System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2025-12-04 06:12:10.984 +01:00] [ERR] Error in "TubeArchivist"
System.InvalidOperationException: There was an error generating the XML document.
 ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'.
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o)
   at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file)
   at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config)
   at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration()
   at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration()
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2025-12-04 06:12:11.238 +01:00] [ERR] Error in "TubeArchivist"
System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2025-12-04 06:12:11.240 +01:00] [ERR] Error in "TubeArchivist"
System.InvalidOperationException: There was an error generating the XML document.
 ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'.
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o)
   at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1)
   at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file)
   at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config)
   at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration()
   at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration()
   at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId)
   at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)

Anything else?

I hope the log is relevant to that issue

Originally created by @jsuelwald on GitHub (Dec 4, 2025). Original GitHub issue: https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/78 ### I've read the documentation - [x] I'm running the latest version of tubearchivist-jf-plugin. - [x] I'm running the latest version of TubeArchivist. - [x] I have read the [how to open an issue](https://github.com/tubearchivist/tubearchivist/blob/master/CONTRIBUTING.md#how-to-open-an-issue) guide, particularly the [bug report](https://github.com/tubearchivist/tubearchivist/blob/master/CONTRIBUTING.md#bug-report) section. - [x] I have searched for both closed and open already existing issues about the problem I am reporting. ### Operating System Linux ### Your Bug Report ## Describe the bug Plugin forgets setting after every update so far ## Steps To Reproduce Set API, URL etc. and wait for update ## Expected behavior Settings should not be forgotten ### Relevant Jellyfin log output ```shell [2025-12-04 06:10:49.957 +01:00] [INF] Stopping directory watching for path "/mnt/nas_home/Vid/Serien" [2025-12-04 06:10:49.958 +01:00] [INF] Validating media library [2025-12-04 06:12:10.822 +01:00] [ERR] Error in "TubeArchivist" System.UriFormatException: Invalid URI: The format of the URI could not be determined. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions) at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [2025-12-04 06:12:10.822 +01:00] [ERR] Error in "TubeArchivist" System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o) at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1) at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file) at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config) at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration() at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration() at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [2025-12-04 06:12:10.982 +01:00] [ERR] Error in "TubeArchivist" System.UriFormatException: Invalid URI: The format of the URI could not be determined. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions) at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [2025-12-04 06:12:10.984 +01:00] [ERR] Error in "TubeArchivist" System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o) at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1) at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file) at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config) at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration() at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration() at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [2025-12-04 06:12:11.238 +01:00] [ERR] Error in "TubeArchivist" System.UriFormatException: Invalid URI: The format of the URI could not be determined. at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions) at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [2025-12-04 06:12:11.240 +01:00] [ERR] Error in "TubeArchivist" System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidCastException: [A]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration cannot be cast to [B]Jellyfin.Plugin.TubeArchivistMetadata.Configuration.PluginConfiguration. Type A originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #8' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.3.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. Type B originates from 'Jellyfin.Plugin.TubeArchivistMetadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=null' in the context '"" Emby.Server.Implementations.Plugins.PluginLoadContext #7' at location '/var/lib/jellyfin/plugins/TubeArchivistMetadata_1.4.2.0/Jellyfin.Plugin.TubeArchivistMetadata.dll'. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object o) at InvokeStub_XmlSerializationWriterPluginConfiguration.Write5_PluginConfiguration(Object, Span`1) at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) --- End of inner exception stack trace --- at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream) at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file) at MediaBrowser.Common.Plugins.BasePlugin`1.SaveConfiguration(TConfigurationType config) at MediaBrowser.Common.Plugins.BasePlugin`1.LoadConfiguration() at MediaBrowser.Common.Plugins.BasePlugin`1.get_Configuration() at Jellyfin.Plugin.TubeArchivistMetadata.TubeArchivist.TubeArchivistApi.GetVideo(String videoId) at Jellyfin.Plugin.TubeArchivistMetadata.Providers.EpisodeMetadataProvider.GetMetadata(EpisodeInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) ``` ### Anything else? I hope the log is relevant to that issue
Author
Owner

@diablo581 commented on GitHub (Dec 9, 2025):

Mine is doing this as well. Every restart of JF causes it to lose all the settings.

<!-- gh-comment-id:3633035793 --> @diablo581 commented on GitHub (Dec 9, 2025): Mine is doing this as well. Every restart of JF causes it to lose all the settings.
Author
Owner

@Jurrer commented on GitHub (Dec 21, 2025):

You have two TubeArchivist plugins active at the same time, Version=1.4.3.0 and Version=1.4.2.0.

Remove the old ones, either in Jellyfin dashboard or just remove the file from the directory
/config/data/plugins/TubeArchivistMetadata_1.4.[version number]

Another thing I see in the log, that TubeArchivist URL might be incorrect, and the XML file with configurations can't be created - that's why configuration disappears after restarting.
Do you have the protocol in the URL? (http:// or https://)

<!-- gh-comment-id:3678794455 --> @Jurrer commented on GitHub (Dec 21, 2025): You have two TubeArchivist plugins active at the same time, Version=1.4.3.0 and Version=1.4.2.0. Remove the old ones, either in Jellyfin dashboard or just remove the file from the directory `/config/data/plugins/TubeArchivistMetadata_1.4.[version number]` Another thing I see in the log, that `TubeArchivist URL` might be incorrect, and the XML file with configurations can't be created - that's why configuration disappears after restarting. Do you have the protocol in the URL? (http:// or https://)
Author
Owner

@Nitrousoxide commented on GitHub (Dec 24, 2025):

This is also happening to me. I only have one instance of the plugin in my plugin directory, and the config directory isn't R/O or something. After adding the info back into the settings via the GUI in jellyfin it does populate the xml file under
/config/data/plugins/configurations/Jellyfin.Plugin.TubeArchivistMetadata.xml (from within the container) so it is able to r/w that directory fine.

And yes, that directory is mounted to the host as a persistent mount so it survives container recreations. No other plugin seems to lose configuration after updates or a container reset.

<!-- gh-comment-id:3690600199 --> @Nitrousoxide commented on GitHub (Dec 24, 2025): This is also happening to me. I only have one instance of the plugin in my plugin directory, and the config directory isn't R/O or something. After adding the info back into the settings via the GUI in jellyfin it does populate the xml file under /config/data/plugins/configurations/Jellyfin.Plugin.TubeArchivistMetadata.xml (from within the container) so it is able to r/w that directory fine. And yes, that directory is mounted to the host as a persistent mount so it survives container recreations. No other plugin seems to lose configuration after updates or a container reset.
Author
Owner

@droewe commented on GitHub (Dec 29, 2025):

You have two TubeArchivist plugins active at the same time, Version=1.4.3.0 and Version=1.4.2.0.

Remove the old ones, either in Jellyfin dashboard or just remove the file from the directory /config/data/plugins/TubeArchivistMetadata_1.4.[version number]

This is the case for me, too, but I have never intentionally done anything to have two or more version installed at the same time. I can also only see on version installed in the plugin section of the dashboard, for the other version that gets referenced in the logs, I see the 'Install' button on the plugin management screen, which means I also can't uninstall the older version via the UI. Looks to me like there are problems with the way the update is done, either on the jellyfin side or the plugin side.
Could you look into what is causing the issue so it does not need manual intervention?

Edit: I manually deleted the old config directory. It was 1.4.2.0 for me, too. Afterwards, the settings were kept after restart. Could be that only this version was having problems. I will try to report back after the next update.

<!-- gh-comment-id:3695984640 --> @droewe commented on GitHub (Dec 29, 2025): > You have two TubeArchivist plugins active at the same time, Version=1.4.3.0 and Version=1.4.2.0. > > Remove the old ones, either in Jellyfin dashboard or just remove the file from the directory `/config/data/plugins/TubeArchivistMetadata_1.4.[version number]` This is the case for me, too, but I have never intentionally done anything to have two or more version installed at the same time. I can also only see on version installed in the plugin section of the dashboard, for the other version that gets referenced in the logs, I see the 'Install' button on the plugin management screen, which means I also can't uninstall the older version via the UI. Looks to me like there are problems with the way the update is done, either on the jellyfin side or the plugin side. Could you look into what is causing the issue so it does not need manual intervention? Edit: I manually deleted the old config directory. It was 1.4.2.0 for me, too. Afterwards, the settings were kept after restart. Could be that only this version was having problems. I will try to report back after the next update.
Author
Owner

@Jurrer commented on GitHub (Dec 29, 2025):

Jellyfin is keeping previous plugin versions after updating them. Im not sure if it is a bug or intended.
Glad it worked for you.

Edit: it is a known case, discussed here

Are you using Linuxserver image?

<!-- gh-comment-id:3696235501 --> @Jurrer commented on GitHub (Dec 29, 2025): Jellyfin is keeping previous plugin versions after updating them. Im not sure if it is a bug or intended. Glad it worked for you. Edit: it is a known case, [discussed here ](https://github.com/jellyfin/jellyfin/issues/12959) Are you using Linuxserver image?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tubearchivist/archived-tubearchivist-jf-plugin#54
No description provided.