From 4f6d2deeb0b547281c70e01aca0ae52b4fdf5d62 Mon Sep 17 00:00:00 2001 From: Spicy_Marinara Date: Sun, 19 Oct 2025 20:11:55 +0200 Subject: [PATCH] Fix preset duplicate import on every refresh - Check if preset exists using /api/settings/get instead of HEAD request - Look for preset in openai_setting_names to determine if it's already imported - Comment out 'already exists' log to reduce console noise - Only import preset if it's truly missing from the settings --- index.js | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/index.js b/index.js index 53f0bd8..bdace65 100644 --- a/index.js +++ b/index.js @@ -444,14 +444,25 @@ async function initUI() { async function ensureTrackerPresetExists() { try { const presetName = 'RPG Companion Trackers'; - const presetPath = `data/default-user/OpenAI Settings/${presetName}.json`; - - // Check if preset already exists - const checkResponse = await fetch(`/${presetPath}`, { method: 'HEAD' }); - - if (checkResponse.ok) { - console.log(`[RPG Companion] Preset "${presetName}" already exists`); - return; + + // Check if preset already exists by fetching the preset list from the API + const presetsResponse = await fetch('/api/settings/get', { + method: 'POST', + headers: getRequestHeaders(), + }); + + if (presetsResponse.ok) { + const settings = await presetsResponse.json(); + const openaiSettings = settings?.openai; + + // Check if the preset exists in openai_setting_names + if (openaiSettings && openaiSettings.openai_setting_names) { + const presetExists = Object.keys(openaiSettings.openai_setting_names).includes(presetName); + if (presetExists) { + // console.log(`[RPG Companion] Preset "${presetName}" already exists`); + return; + } + } } // Preset doesn't exist - import it from extension folder