From f76f0879d92ddb73ff047a6a3956cd08b168059f Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Mon, 17 Feb 2025 17:05:24 -0600 Subject: [PATCH 1/2] additional error handling --- src/utils/calcCanvasNodeSizeAndImg.ts | 27 +++++++++++++++++++++++++-- src/utils/loadImage.ts | 4 ++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/utils/calcCanvasNodeSizeAndImg.ts b/src/utils/calcCanvasNodeSizeAndImg.ts index 7dbf0a8a..27f62264 100644 --- a/src/utils/calcCanvasNodeSizeAndImg.ts +++ b/src/utils/calcCanvasNodeSizeAndImg.ts @@ -8,6 +8,7 @@ import getDiscourseNodes from "./getDiscourseNodes"; import resolveRefs from "roamjs-components/dom/resolveRefs"; import { render as renderToast } from "roamjs-components/components/Toast"; import { loadImage } from "./loadImage"; +import apiPost from "roamjs-components/util/apiPost"; const extractFirstImageUrl = (text: string): string | null => { const regex = /!\[.*?\]\((https:\/\/[^)]+)\)/; @@ -96,10 +97,32 @@ const calcCanvasNodeSizeAndImg = async ({ h: h + nodeImageHeight + padding * 2, imageUrl, }; - } catch { + } catch (e) { + const error = e as Error; + apiPost({ + domain: "https://api.samepage.network", + path: "errors", + data: { + method: "extension-error", + type: "Canvas Image Load Failed", + message: error.message, + stack: error.stack, + version: process.env.VERSION, + notebookUuid: JSON.stringify({ + owner: "RoamJS", + app: "query-builder", + workspace: window.roamAlphaAPI.graph.name, + }), + data: { + uid, + nodeText, + imageUrl, + }, + }, + }).catch(() => {}); renderToast({ id: "tldraw-image-load-fail", - content: "Failed to load image", + content: error.message, intent: "warning", }); return { w, h, imageUrl: "" }; diff --git a/src/utils/loadImage.ts b/src/utils/loadImage.ts index 284ebaf5..61eec3fb 100644 --- a/src/utils/loadImage.ts +++ b/src/utils/loadImage.ts @@ -13,8 +13,8 @@ export const loadImage = ( }; setTimeout(() => { - reject(new Error("Image load timeout")); - }, 5000); + reject(new Error("Failed to load image: timeout")); + }, 10000); img.src = url; }); From f54042c1e122ad9a859accdd60da8a665ba6de47 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Mon, 17 Feb 2025 17:05:34 -0600 Subject: [PATCH 2/2] 1.34.2 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e8cc4b2..c89509c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "query-builder", - "version": "1.34.1", + "version": "1.34.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "query-builder", - "version": "1.34.1", + "version": "1.34.2", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d8273874..a79f64ef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "query-builder", - "version": "1.34.1", + "version": "1.34.2", "description": "Introduces new user interfaces for building queries in Roam", "main": "./build/main.js", "author": {