Handle aborting status check gracefully
This commit is contained in:
parent
d99dfb9168
commit
7952b5f2c9
|
@ -242,6 +242,7 @@ import { INTERACTABLE_CONTROL_CLASS, initKeyboard } from './scripts/keyboard.js'
|
||||||
import { initDynamicStyles } from './scripts/dynamic-styles.js';
|
import { initDynamicStyles } from './scripts/dynamic-styles.js';
|
||||||
import { SlashCommandEnumValue, enumTypes } from './scripts/slash-commands/SlashCommandEnumValue.js';
|
import { SlashCommandEnumValue, enumTypes } from './scripts/slash-commands/SlashCommandEnumValue.js';
|
||||||
import { commonEnumProviders, enumIcons } from './scripts/slash-commands/SlashCommandCommonEnumsProvider.js';
|
import { commonEnumProviders, enumIcons } from './scripts/slash-commands/SlashCommandCommonEnumsProvider.js';
|
||||||
|
import { AbortReason } from './scripts/util/AbortReason.js';
|
||||||
|
|
||||||
//exporting functions and vars for mods
|
//exporting functions and vars for mods
|
||||||
export {
|
export {
|
||||||
|
@ -978,8 +979,8 @@ async function fixViewport() {
|
||||||
document.body.style.position = '';
|
document.body.style.position = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancelStatusCheck() {
|
function cancelStatusCheck(reason = 'Manually cancelled status check') {
|
||||||
abortStatusCheck?.abort();
|
abortStatusCheck?.abort(new AbortReason(reason));
|
||||||
abortStatusCheck = new AbortController();
|
abortStatusCheck = new AbortController();
|
||||||
setOnlineStatus('no_connection');
|
setOnlineStatus('no_connection');
|
||||||
}
|
}
|
||||||
|
@ -1229,7 +1230,12 @@ async function getStatusTextgen() {
|
||||||
toastr.error(data.response, 'API Error', { timeOut: 5000, preventDuplicates: true });
|
toastr.error(data.response, 'API Error', { timeOut: 5000, preventDuplicates: true });
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
if (err instanceof AbortReason) {
|
||||||
|
console.info('Status check aborted.', err.reason);
|
||||||
|
} else {
|
||||||
console.error('Error getting status', err);
|
console.error('Error getting status', err);
|
||||||
|
|
||||||
|
}
|
||||||
setOnlineStatus('no_connection');
|
setOnlineStatus('no_connection');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9317,7 +9323,7 @@ jQuery(async function () {
|
||||||
$('#groupCurrentMemberListToggle .inline-drawer-icon').trigger('click');
|
$('#groupCurrentMemberListToggle .inline-drawer-icon').trigger('click');
|
||||||
}, 200);
|
}, 200);
|
||||||
|
|
||||||
$(document).on('click', '.api_loading', cancelStatusCheck);
|
$(document).on('click', '.api_loading', () => cancelStatusCheck('Canceled because connecting was manually canceled'));
|
||||||
|
|
||||||
//////////INPUT BAR FOCUS-KEEPING LOGIC/////////////
|
//////////INPUT BAR FOCUS-KEEPING LOGIC/////////////
|
||||||
let S_TAPreviouslyFocused = false;
|
let S_TAPreviouslyFocused = false;
|
||||||
|
@ -10076,7 +10082,7 @@ jQuery(async function () {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#main_api').change(function () {
|
$('#main_api').change(function () {
|
||||||
cancelStatusCheck();
|
cancelStatusCheck("Canceled because main api changed");
|
||||||
changeMainAPI();
|
changeMainAPI();
|
||||||
saveSettingsDebounced();
|
saveSettingsDebounced();
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
export class AbortReason {
|
||||||
|
constructor(reason) {
|
||||||
|
this.reason = reason;
|
||||||
|
}
|
||||||
|
|
||||||
|
toString() {
|
||||||
|
return this.reason;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue