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