From 08024791e93fcba2bfd9c8474c3cde94e05b4430 Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Tue, 2 Jun 2026 18:25:05 -0600 Subject: [PATCH 1/2] Fix query embed rendering with Roam React components --- package-lock.json | 17 ++++++------ package.json | 2 +- src/components/Export.tsx | 2 +- src/components/Kanban.tsx | 18 ++++-------- src/components/ResultsTable.tsx | 49 ++++++++------------------------- src/index.ts | 1 - src/utils/getExportTypes.ts | 3 ++ 7 files changed, 30 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6e678b8d..9b01379a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "react-draggable": "^4.4.5", "react-in-viewport": "^1.0.0-alpha.20", "react-vertical-timeline-component": "^3.5.2", - "roamjs-components": "^0.83.4", + "roamjs-components": "^0.88.1", "signia-react": "^0.1.1" }, "devDependencies": { @@ -8147,13 +8147,13 @@ } }, "node_modules/roamjs-components": { - "version": "0.83.4", - "resolved": "https://registry.npmjs.org/roamjs-components/-/roamjs-components-0.83.4.tgz", - "integrity": "sha512-NdLQnKZtRaUQ10JVgK05sZFlylXLd+dSdtBfFJgaELBEfV0IykM8dxW2qZ1e8No+XCzOn+q58fwHe6YHcePXNw==", + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/roamjs-components/-/roamjs-components-0.88.1.tgz", + "integrity": "sha512-AnL+30xUDRKPfmoUQyS5FTAEUwNAGzqyTYTNzDzDZbD9bYSJCguS43eOwUYXI66gAHYgul4xiZuUtNWxKwmLpg==", "hasInstallScript": true, + "license": "MIT", "dependencies": { "@samepage/scripts": "^0.74.2", - "aws-sdk-plus": "^0.5.3", "color": "^4.0.1", "date-fns": "^2.27.0", "edn-data": "^1.0.0", @@ -15805,12 +15805,11 @@ } }, "roamjs-components": { - "version": "0.83.4", - "resolved": "https://registry.npmjs.org/roamjs-components/-/roamjs-components-0.83.4.tgz", - "integrity": "sha512-NdLQnKZtRaUQ10JVgK05sZFlylXLd+dSdtBfFJgaELBEfV0IykM8dxW2qZ1e8No+XCzOn+q58fwHe6YHcePXNw==", + "version": "0.88.1", + "resolved": "https://registry.npmjs.org/roamjs-components/-/roamjs-components-0.88.1.tgz", + "integrity": "sha512-AnL+30xUDRKPfmoUQyS5FTAEUwNAGzqyTYTNzDzDZbD9bYSJCguS43eOwUYXI66gAHYgul4xiZuUtNWxKwmLpg==", "requires": { "@samepage/scripts": "^0.74.2", - "aws-sdk-plus": "^0.5.3", "color": "^4.0.1", "date-fns": "^2.27.0", "edn-data": "^1.0.0", diff --git a/package.json b/package.json index 9ef446c8..96add8d6 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "react-draggable": "^4.4.5", "react-in-viewport": "^1.0.0-alpha.20", "react-vertical-timeline-component": "^3.5.2", - "roamjs-components": "^0.83.4", + "roamjs-components": "^0.88.1", "signia-react": "^0.1.1" }, "overrides": { diff --git a/src/components/Export.tsx b/src/components/Export.tsx index 810c2959..aec31acf 100644 --- a/src/components/Export.tsx +++ b/src/components/Export.tsx @@ -423,7 +423,7 @@ const ExportDialog: ExportDialogComponent = ({ if (event.shiftKey) { window.roamAlphaAPI.ui.rightSidebar.addWindow({ window: { - "block-uid": uid, + "page-uid": uid, type: "outline", }, }); diff --git a/src/components/Kanban.tsx b/src/components/Kanban.tsx index 18f27821..e5862132 100644 --- a/src/components/Kanban.tsx +++ b/src/components/Kanban.tsx @@ -31,26 +31,18 @@ import { Sorts } from "../utils/parseResultSettings"; import getRoamUrl from "roamjs-components/dom/getRoamUrl"; const zPriority = z.record(z.number().min(0).max(1)); +const { Block: RenderRoamBlock } = window.roamAlphaAPI.ui.react; type Reprioritize = (args: { uid: string; x: number; y: number }) => void; const BlockEmbed = ({ uid, viewValue }: { uid: string; viewValue: string }) => { const title = getPageTitleByPageUid(uid); - const contentRef = useRef(null); const open = - viewValue === "open" ? true : viewValue === "closed" ? false : null; - useEffect(() => { - const el = contentRef.current; - if (el) { - window.roamAlphaAPI.ui.components.renderBlock({ - uid, - el, - // "open?": open, // waiting for roamAlphaAPI to add a open/close to renderBlock - }); - } - }, [uid, open, contentRef]); + viewValue === "open" ? true : viewValue === "closed" ? false : undefined; return ( -
+
+ +
); }; diff --git a/src/components/ResultsTable.tsx b/src/components/ResultsTable.tsx index 0da2ce9b..2136092a 100644 --- a/src/components/ResultsTable.tsx +++ b/src/components/ResultsTable.tsx @@ -30,28 +30,15 @@ import { ContextContent } from "./DiscourseContext"; const EXTRA_ROW_TYPES = ["context", "discourse"] as const; type ExtraRowType = (typeof EXTRA_ROW_TYPES)[number] | null; +const { Block: RenderRoamBlock, Page: RenderRoamPage } = + window.roamAlphaAPI.ui.react; const ExtraContextRow = ({ uid }: { uid: string }) => { - const containerRef = useRef(null); - - useEffect(() => { - if (!containerRef.current) return; - if (getPageTitleByPageUid(uid)) { - window.roamAlphaAPI.ui.components.renderPage({ - uid, - el: containerRef.current, - hideMentions: true, - }); - } else { - window.roamAlphaAPI.ui.components.renderBlock({ - uid, - el: containerRef.current, - zoomPath: true, - }); - } - }, [containerRef, uid]); - - return
; + return getPageTitleByPageUid(uid) ? ( + + ) : ( + + ); }; const dragImage = document.createElement("img"); @@ -166,25 +153,13 @@ const ResultHeader = React.forwardRef< const CellEmbed = ({ uid, viewValue }: { uid: string; viewValue: string }) => { const title = getPageTitleByPageUid(uid); - const contentRef = useRef(null); - useEffect(() => { - const el = contentRef.current; - const open = - viewValue === "open" ? true : viewValue === "closed" ? false : null; - if (el) { - window.roamAlphaAPI.ui.components.renderBlock({ - uid, - el, - // "open?": open, // waiting for roamAlphaAPI to add a open/close to renderBlock - }); - } - }, [contentRef]); + const open = + viewValue === "open" ? true : viewValue === "closed" ? false : undefined; return (
-
+
+ +
); }; diff --git a/src/index.ts b/src/index.ts index 41f7db42..b2c3f58c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -580,7 +580,6 @@ svg.rs-svg-container { ).then((blockUid) => queryRender({ blockUid, - clearOnClick, onloadArgs, }) ), diff --git a/src/utils/getExportTypes.ts b/src/utils/getExportTypes.ts index c1abd6b9..d18bddf6 100644 --- a/src/utils/getExportTypes.ts +++ b/src/utils/getExportTypes.ts @@ -42,6 +42,9 @@ const pullBlockToTreeNode = (n: PullBlock, v: `:${ViewType}`): TreeNode => ({ uid: n[":block/uid"] || "", heading: n[":block/heading"] || 0, viewType: (n[":children/view-type"] || v).slice(1) as ViewType, + blockViewType: (n[":block/view-type"] || ":vertical").slice( + 1 + ) as TreeNode["blockViewType"], editTime: new Date(n[":edit/time"] || 0), props: { imageResize: {}, iframe: {} }, textAlign: n[":block/text-align"] || "left", From 2841e54f472c962bbb60ea9f4d3331bc83622ded Mon Sep 17 00:00:00 2001 From: Michael Gartner Date: Tue, 2 Jun 2026 19:16:23 -0600 Subject: [PATCH 2/2] 1.37.1 --- 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 9b01379a..5dae94f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "query-builder", - "version": "1.37.0", + "version": "1.37.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "query-builder", - "version": "1.37.0", + "version": "1.37.1", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 96add8d6..afbfe43e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "query-builder", - "version": "1.37.0", + "version": "1.37.1", "description": "Introduces new user interfaces for building queries in Roam", "main": "./build/main.js", "author": {