| 6955 | 6955 | throw new Error(result.statusText); |
| 6956 | 6956 | } |
| 6957 | 6957 | |
| 6958 | 6958 | const forceSaveConfirmedpopupResult = await Popup.show.confirminput( |
| 6959 | 6959 | t`ERROR: Chat integrity check failed while saving the file.`, |
| 6960 | | - t`Continuing the operation may result in data loss. Would you like to overwrite the chat file anyway? Pressing "NO" will cancel the save operation.`, |
| 6960 | + t`<p>After you click OK, the page will be reloaded to prevent data corruption.</p> |
| 6961 | | - { okButton: t`Yes, overwrite`, cancelButton: t`No, cancel` }, |
| 6961 | + <p>To confirm an overwrite (and potentially <b>LOSE YOUR DATA</b>), enter <code>OVERWRITE</code> (in all caps) in the box below before clicking OK.</p>`, |
| 6962 | | - ) === POPUP_RESULT.AFFIRMATIVE; |
| 6962 | + '', |
| 6963 | + { okButton: 'OK', cancelButton: false }, |
| 6964 | + ); |
| 6963 | 6965 | |
| 6964 | | - if (forceSaveConfirmed) { |
| 6966 | + const forceSaveConfirmed = popupResult === 'OVERWRITE'; |
| 6965 | | - await saveChat({ chatName, withMetadata, mesId, force: true }); |
| 6967 | + |
| 6968 | + if (!forceSaveConfirmed) { |
| 6969 | + console.warn('Chat integrity check failed, and user did not confirm the overwrite. Reloading the page.'); |
| 6970 | + window.location.reload(); |
| 6971 | + return; |
| 6966 | 6972 | } |
| 6973 | + |
| 6974 | + await saveChat({ chatName, withMetadata, mesId, force: true }); |
| 6967 | 6975 | } catch (error) { |
| 6968 | 6976 | console.error(error); |
| 6969 | 6977 | toastr.error(t`Check the server connection and reload the page to prevent data loss.`, t`Chat could not be saved`); |