Fix preset existence check to use array includes
- openai_setting_names from /api/settings/get is an array, not an object - Use .includes() instead of 'in' operator to check for preset - Prevents duplicate preset imports on every page refresh - Preset is now only imported once on first extension load
This commit is contained in:
@@ -444,24 +444,19 @@ async function initUI() {
|
|||||||
async function ensureTrackerPresetExists() {
|
async function ensureTrackerPresetExists() {
|
||||||
try {
|
try {
|
||||||
const presetName = 'RPG Companion Trackers';
|
const presetName = 'RPG Companion Trackers';
|
||||||
|
|
||||||
// Check if preset already exists by fetching the preset list from the API
|
// Check if preset already exists by fetching settings
|
||||||
const presetsResponse = await fetch('/api/settings/get', {
|
const checkResponse = await fetch('/api/settings/get', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: getRequestHeaders(),
|
headers: getRequestHeaders()
|
||||||
});
|
});
|
||||||
|
|
||||||
if (presetsResponse.ok) {
|
if (checkResponse.ok) {
|
||||||
const settings = await presetsResponse.json();
|
const settings = await checkResponse.json();
|
||||||
const openaiSettings = settings?.openai;
|
// openai_setting_names is an array of preset names
|
||||||
|
if (settings.openai_setting_names && settings.openai_setting_names.includes(presetName)) {
|
||||||
// Check if the preset exists in openai_setting_names
|
console.log(`[RPG Companion] Preset "${presetName}" already exists`);
|
||||||
if (openaiSettings && openaiSettings.openai_setting_names) {
|
return;
|
||||||
const presetExists = Object.keys(openaiSettings.openai_setting_names).includes(presetName);
|
|
||||||
if (presetExists) {
|
|
||||||
// console.log(`[RPG Companion] Preset "${presetName}" already exists`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user