From 0f67dd0c8e724da00ff95e8340eba1ae17bb529e Mon Sep 17 00:00:00 2001 From: Sleeps Date: Tue, 6 Oct 2026 18:00:40 +0100 Subject: [PATCH] Save plugin settings before indexing --- .../Configuration/configPage.html | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/jellyfin-plugin/Jellyfin.Plugin.SceneSearch/Configuration/configPage.html b/jellyfin-plugin/Jellyfin.Plugin.SceneSearch/Configuration/configPage.html index 2d13d6a..ddc04a3 100644 --- a/jellyfin-plugin/Jellyfin.Plugin.SceneSearch/Configuration/configPage.html +++ b/jellyfin-plugin/Jellyfin.Plugin.SceneSearch/Configuration/configPage.html @@ -207,15 +207,29 @@ return; } - page.querySelector('#indexStatus').textContent = 'Starting index…'; - ApiClient.ajax({ - type: 'POST', - url: ApiClient.getUrl('Plugins/SceneSearch/Index'), - contentType: 'application/json', - data: JSON.stringify({ - library_ids: ids, - force: page.querySelector('#forceIndex').checked - }) + page.querySelector('#indexStatus').textContent = 'Saving settings and starting index…'; + + ApiClient.getPluginConfiguration(pluginId).then(function (config) { + config.Enabled = page.querySelector('#enabled').checked; + config.ApiUrl = page.querySelector('#apiUrl').value.trim(); + config.ApiKey = page.querySelector('#apiKey').value; + config.RequirePrefix = page.querySelector('#requirePrefix').checked; + config.SearchPrefix = page.querySelector('#searchPrefix').value.trim(); + config.MaxResults = parseInt(page.querySelector('#maxResults').value, 10) || 20; + config.TimeoutSeconds = parseInt(page.querySelector('#timeoutSeconds').value, 10) || 60; + config.SelectedLibraryIds = ids; + currentConfig = config; + return ApiClient.updatePluginConfiguration(pluginId, config); + }).then(function () { + return ApiClient.ajax({ + type: 'POST', + url: ApiClient.getUrl('Plugins/SceneSearch/Index'), + contentType: 'application/json', + data: JSON.stringify({ + library_ids: ids, + force: page.querySelector('#forceIndex').checked + }) + }); }).then(function () { refreshStatus(); }).catch(function () {