#1343 Add status check bypass

This commit is contained in:
Cohee 2023-11-12 13:23:46 +02:00
parent 4c0b3fb7ae
commit 7afe9e6481
3 changed files with 21 additions and 4 deletions

View File

@ -1742,6 +1742,10 @@
<optgroup id="openai_external_category" label="External">
</optgroup>
</select>
<label for="openai_bypass_status_check" class="checkbox_label">
<input id="openai_bypass_status_check" type="checkbox" />
<span data-i18n="Bypass API status check">Bypass API status check</span>
</label>
<label for="openai_show_external_models" class="checkbox_label">
<input id="openai_show_external_models" type="checkbox" />
<span data-i18n="Show External models (provided by API)">Show "External" models (provided by API)</span>
@ -4676,4 +4680,4 @@
</script>
</body>
</html>
</html>

View File

@ -223,6 +223,7 @@ const default_settings = {
use_alt_scale: false,
squash_system_messages: false,
image_inlining: false,
bypass_status_check: false,
};
const oai_settings = {
@ -270,6 +271,7 @@ const oai_settings = {
use_alt_scale: false,
squash_system_messages: false,
image_inlining: false,
bypass_status_check: false,
};
let openai_setting_names;
@ -2209,6 +2211,7 @@ function loadOpenAISettings(data, settings) {
oai_settings.proxy_password = settings.proxy_password ?? default_settings.proxy_password;
oai_settings.assistant_prefill = settings.assistant_prefill ?? default_settings.assistant_prefill;
oai_settings.image_inlining = settings.image_inlining ?? default_settings.image_inlining;
oai_settings.bypass_status_check = settings.bypass_status_check ?? default_settings.bypass_status_check;
oai_settings.prompts = settings.prompts ?? default_settings.prompts;
oai_settings.prompt_order = settings.prompt_order ?? default_settings.prompt_order;
@ -2230,6 +2233,7 @@ function loadOpenAISettings(data, settings) {
$('#openai_proxy_password').val(oai_settings.proxy_password);
$('#claude_assistant_prefill').val(oai_settings.assistant_prefill);
$('#openai_image_inlining').prop('checked', oai_settings.image_inlining);
$('#openai_bypass_status_check').prop('checked', oai_settings.bypass_status_check);
$('#model_openai_select').val(oai_settings.openai_model);
$(`#model_openai_select option[value="${oai_settings.openai_model}"`).attr('selected', true);
@ -2354,8 +2358,12 @@ async function getStatusOpen() {
const responseData = await response.json();
if (!('error' in responseData))
if (responseData.error && responseData.can_bypass && oai_settings.bypass_status_check) {
setOnlineStatus('Status check bypassed. Proceed with caution.');
}
if (!('error' in responseData)) {
setOnlineStatus('Valid');
}
if ('data' in responseData && Array.isArray(responseData.data)) {
saveModelList(responseData.data);
}
@ -3504,6 +3512,11 @@ $(document).ready(async function () {
saveSettingsDebounced();
});
$('#openai_bypass_status_check').on('input', function () {
oai_settings.bypass_status_check = !!$(this).prop('checked');
saveSettingsDebounced();
})
$('#chat_completion_source').on('change', function () {
oai_settings.chat_completion_source = String($(this).find(":selected").val());
toggleChatCompletionForms();

View File

@ -2764,8 +2764,8 @@ app.post("/getstatus_openai", jsonParser, async function (request, response_gets
}
}
else {
console.log('Access Token is incorrect.');
response_getstatus_openai.send({ error: true });
console.log('OpenAI status check failed. Either Access Token is incorrect or API endpoint is down.');
response_getstatus_openai.send({ error: true, can_bypass: true, data: { data: [] } });
}
} catch (e) {
console.error(e);