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
This commit is contained in:
Spicy_Marinara
2025-10-19 20:11:55 +02:00
parent 029860359f
commit 4f6d2deeb0
+19 -8
View File
@@ -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