diff --git a/src/excalidraw-app/collab/Collab.tsx b/src/excalidraw-app/collab/Collab.tsx index 58f3a890..4f98f58f 100644 --- a/src/excalidraw-app/collab/Collab.tsx +++ b/src/excalidraw-app/collab/Collab.tsx @@ -242,6 +242,12 @@ class Collab extends PureComponent { ); } } catch (error: any) { + this.setState({ + // firestore doesn't return a specific error code when size exceeded + errorMessage: /is longer than.*?bytes/.test(error.message) + ? t("errors.collabSaveFailed_sizeExceeded") + : t("errors.collabSaveFailed"), + }); console.error(error); } }; diff --git a/src/locales/en.json b/src/locales/en.json index f4afc5df..50424c3f 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -202,7 +202,9 @@ "svgImageInsertError": "Couldn't insert SVG image. The SVG markup looks invalid.", "invalidSVGString": "Invalid SVG.", "cannotResolveCollabServer": "Couldn't connect to the collab server. Please reload the page and try again.", - "importLibraryError": "Couldn't load library" + "importLibraryError": "Couldn't load library", + "collabSaveFailed": "Couldn't save to the backend database. If problems persist, you should save your file locally to ensure you don't lose your work.", + "collabSaveFailed_sizeExceeded": "Couldn't save to the backend database, the canvas seems to be too big. You should save the file locally to ensure you don't lose your work." }, "toolBar": { "selection": "Selection",