Invert conditions

8bd17de2f392451117d23931e246a324c559398d

Cohee <18619528+Cohee1207@users.noreply.github.com>

1 files changed, +19 -14Ignore whitespace
public/script.js+19 -14
@@ -6734,6 +6734,7 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false }
67346734 try {
67356735 const result = await fetch('/api/chats/save', {
67366736 method: 'POST',
6737+ cache: 'no-cache',
67376738 headers: getRequestHeaders(),
67386739 body: JSON.stringify({
67396740 ch_name: characters[this_chid].name,
@@ -6742,22 +6743,26 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false }
67426743 avatar_url: characters[this_chid].avatar,
67436744 force: force,
67446745 }),
6745- cache: 'no-cache',
67466746 });
67476747
67486748 if (!result.ok) {
6749- const errorData = await result.json();
6749+ return;
6750- if (errorData?.error === 'integrity' && !force) {
6750+ }
6751- const forceSaveConfirmed = await Popup.show.confirm(
6751+
6752- t`Chat integrity check failed, continuing the operation may result in data loss.`,
6752+ const errorData = await result.json();
6753- t`Would you like to overwrite the chat file anyway? Pressing "NO" will cancel the save operation.`,
6753+ const isIntegrityError = errorData?.error === 'integrity' && !force;
6754- { okButton: t`Yes, overwrite`, cancelButton: t`No, cancel` },
6754+ if (!isIntegrityError) {
6755- ) === POPUP_RESULT.AFFIRMATIVE;
6755+ throw new Error(result.statusText);
6756-
6756+ }
6757- if (forceSaveConfirmed) {
6757+
6758- await saveChat({ chatName, withMetadata, mesId, force: true });
6758+ const forceSaveConfirmed = await Popup.show.confirm(
6759- }
6759+ t`Chat integrity check failed, continuing the operation may result in data loss.`,
6760- }
6760+ t`Would you like to overwrite the chat file anyway? Pressing "NO" will cancel the save operation.`,
6761+ { okButton: t`Yes, overwrite`, cancelButton: t`No, cancel` },
6762+ ) === POPUP_RESULT.AFFIRMATIVE;
6763+
6764+ if (forceSaveConfirmed) {
6765+ await saveChat({ chatName, withMetadata, mesId, force: true });
67616766 }
67626767 } catch (error) {
67636768 console.error(error);