| 6934 | 6934 | .trigger('change'); |
| 6935 | 6935 | } |
| 6936 | 6936 | |
| 6937 | 6937 | export async function saveSettings(typeloopCounter = 0) { |
| 6938 | 6938 | if (!settingsReady) { |
| 6939 | 6939 | console.warn('Settings not ready, aborting save'); |
| 6940 | 6940 | return; |
| 6941 | 6941 | } |
| 6942 | 6942 | |
| 6943 | + const MAX_RETRIES = 3; |
| 6943 | 6944 | if (TempResponseLength.isCustomized()) { |
| 6944 | | - console.warn('Response length is currently being overridden. Restoring previous value before saving.'); |
| 6945 | + if (loopCounter < MAX_RETRIES) { |
| 6946 | + console.warn('Response length is currently being overridden, scheduling another save'); |
| 6947 | + saveSettingsDebounced(++loopCounter); |
| 6948 | + return; |
| 6949 | + } |
| 6950 | + console.error('Response length is currently being overridden, but the save loop has reached the maximum number of retries'); |
| 6945 | 6951 | TempResponseLength.restore(null); |
| 6946 | 6952 | } |
| 6947 | 6953 | |