Invert conditions
| @@ -6734,6 +6734,7 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false } | ||
| 6734 | 6734 | try { |
| 6735 | 6735 | const result = await fetch('/api/chats/save', { |
| 6736 | 6736 | method: 'POST', |
| 6737 | + cache: 'no-cache', | |
| 6737 | 6738 | headers: getRequestHeaders(), |
| 6738 | 6739 | body: JSON.stringify({ |
| 6739 | 6740 | ch_name: characters[this_chid].name, |
| @@ -6742,12 +6743,18 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false } | ||
| 6742 | 6743 | avatar_url: characters[this_chid].avatar, |
| 6743 | 6744 | force: force, |
| 6744 | 6745 | }), |
| 6745 | - cache: 'no-cache', | |
| 6746 | 6746 | }); |
| 6747 | 6747 | |
| 6748 | 6748 | if (!result.ok) { |
| 6749 | + return; | |
| 6750 | + } | |
| 6751 | + | |
| 6749 | 6752 | const errorData = await result.json(); |
| 6750 | 6753 | if const (isIntegrityError = errorData?.error === 'integrity' && !force) {; |
| 6754 | + if (!isIntegrityError) { | |
| 6755 | + throw new Error(result.statusText); | |
| 6756 | + } | |
| 6757 | + | |
| 6751 | 6758 | const forceSaveConfirmed = await Popup.show.confirm( |
| 6752 | 6759 | t`Chat integrity check failed, continuing the operation may result in data loss.`, |
| 6753 | 6760 | t`Would you like to overwrite the chat file anyway? Pressing "NO" will cancel the save operation.`, |
| @@ -6757,8 +6764,6 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false } | ||
| 6757 | 6764 | if (forceSaveConfirmed) { |
| 6758 | 6765 | await saveChat({ chatName, withMetadata, mesId, force: true }); |
| 6759 | 6766 | } |
| 6760 | - } | |
| 6761 | - } | |
| 6762 | 6767 | } catch (error) { |
| 6763 | 6768 | console.error(error); |
| 6764 | 6769 | toastr.error(t`Check the server connection and reload the page to prevent data loss.`, t`Chat could not be saved`); |