mute FS abort errors (#1929)

This commit is contained in:
David Luzar 2020-07-17 11:34:21 +02:00 committed by GitHub
parent 4cfc8bd4b3
commit 494b7d08c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 8 deletions

View File

@ -8,6 +8,14 @@ import useIsMobile from "../is-mobile";
import { register } from "./register"; import { register } from "./register";
import { KEYS } from "../keys"; import { KEYS } from "../keys";
const muteFSAbortError = (error?: Error) => {
// if user cancels, ignore the error
if (error?.name === "AbortError") {
return;
}
throw error;
};
export const actionChangeProjectName = register({ export const actionChangeProjectName = register({
name: "changeProjectName", name: "changeProjectName",
perform: (_elements, appState, value) => { perform: (_elements, appState, value) => {
@ -65,9 +73,9 @@ export const actionChangeShouldAddWatermark = register({
export const actionSaveScene = register({ export const actionSaveScene = register({
name: "saveScene", name: "saveScene",
perform: (elements, appState, value) => { perform: (elements, appState, value) => {
saveAsJSON(elements, appState, (window as any).handle).catch((error) => saveAsJSON(elements, appState, (window as any).handle)
console.error(error), .catch(muteFSAbortError)
); .catch((error) => console.error(error));
return { commitToHistory: false }; return { commitToHistory: false };
}, },
keyTest: (event) => { keyTest: (event) => {
@ -88,7 +96,9 @@ export const actionSaveScene = register({
export const actionSaveAsScene = register({ export const actionSaveAsScene = register({
name: "saveAsScene", name: "saveAsScene",
perform: (elements, appState, value) => { perform: (elements, appState, value) => {
saveAsJSON(elements, appState, null).catch((error) => console.error(error)); saveAsJSON(elements, appState, null)
.catch(muteFSAbortError)
.catch((error) => console.error(error));
return { commitToHistory: false }; return { commitToHistory: false };
}, },
keyTest: (event) => { keyTest: (event) => {
@ -135,11 +145,8 @@ export const actionLoadScene = register({
.then(({ elements, appState }) => { .then(({ elements, appState }) => {
updateData({ elements: elements, appState: appState }); updateData({ elements: elements, appState: appState });
}) })
.catch(muteFSAbortError)
.catch((error) => { .catch((error) => {
// if user cancels, ignore the error
if (error.name === "AbortError") {
return;
}
updateData({ error: error.message }); updateData({ error: error.message });
}); });
}} }}