Skip to content

Commit e78c0d2

Browse files
authored
Additional canvas image error handling (#297)
* additional error handling * 1.34.2
1 parent 63c609c commit e78c0d2

File tree

4 files changed

+30
-7
lines changed

4 files changed

+30
-7
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "query-builder",
3-
"version": "1.34.1",
3+
"version": "1.34.2",
44
"description": "Introduces new user interfaces for building queries in Roam",
55
"main": "./build/main.js",
66
"author": {

src/utils/calcCanvasNodeSizeAndImg.ts

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import getDiscourseNodes from "./getDiscourseNodes";
88
import resolveRefs from "roamjs-components/dom/resolveRefs";
99
import { render as renderToast } from "roamjs-components/components/Toast";
1010
import { loadImage } from "./loadImage";
11+
import apiPost from "roamjs-components/util/apiPost";
1112

1213
const extractFirstImageUrl = (text: string): string | null => {
1314
const regex = /!\[.*?\]\((https:\/\/[^)]+)\)/;
@@ -96,10 +97,32 @@ const calcCanvasNodeSizeAndImg = async ({
9697
h: h + nodeImageHeight + padding * 2,
9798
imageUrl,
9899
};
99-
} catch {
100+
} catch (e) {
101+
const error = e as Error;
102+
apiPost({
103+
domain: "https://api.samepage.network",
104+
path: "errors",
105+
data: {
106+
method: "extension-error",
107+
type: "Canvas Image Load Failed",
108+
message: error.message,
109+
stack: error.stack,
110+
version: process.env.VERSION,
111+
notebookUuid: JSON.stringify({
112+
owner: "RoamJS",
113+
app: "query-builder",
114+
workspace: window.roamAlphaAPI.graph.name,
115+
}),
116+
data: {
117+
uid,
118+
nodeText,
119+
imageUrl,
120+
},
121+
},
122+
}).catch(() => {});
100123
renderToast({
101124
id: "tldraw-image-load-fail",
102-
content: "Failed to load image",
125+
content: error.message,
103126
intent: "warning",
104127
});
105128
return { w, h, imageUrl: "" };

src/utils/loadImage.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export const loadImage = (
1313
};
1414

1515
setTimeout(() => {
16-
reject(new Error("Image load timeout"));
17-
}, 5000);
16+
reject(new Error("Failed to load image: timeout"));
17+
}, 10000);
1818

1919
img.src = url;
2020
});

0 commit comments

Comments
 (0)