Conversation
Hide already imported nodes and drop the source app, source ID, and status columns. Sort by source space, title, or modified, newest first by default. Rename the dialog and command to Import shared nodes, give the dialog a fixed height, and show import progress and the result in one area that links each imported node by its Roam title.
Set the node results and failed-node selection before the relations import, so a relations failure no longer leaves hidden rows selected without a result list. Stop searching the source app and source ID, which the table no longer shows.
Report a relations failure after a successful node import as its own message, so it no longer reads as a node import failure next to a success summary. Let the dialog body scroll when a short window can't fit the search, result, and table.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
| </tr> | ||
| ); | ||
|
|
||
| const SortableHeader = ({ |
There was a problem hiding this comment.
This header copies renderSortableHeader in DiscourseRelationConfigPanel.tsx, the ticket's example. The click order differs on purpose. The ticket asks for descending on the first click and ascending on the next, so this table has no unsorted state. Sharing one header means changing the relations settings panel, so it's left for a follow-up. The relations header's font-[inherit] text-[inherit] aren't in Roam's global Tailwind, so leaving them out doesn't change how this header looks.
| void loadNodes(); | ||
| }, [loadNodes]); | ||
|
|
||
| const availableNodes = useMemo( |
There was a problem hiding this comment.
Imported nodes are hidden here, as in Obsidian's import modal. A newer version of an imported node still comes in through the refresh button on its page or DG: Refresh all imported nodes.
| sendEmail: false, | ||
| }); | ||
| } | ||
| await importSharedRelations(client, spaceId, [...importedRids]).catch( |
There was a problem hiding this comment.
The relations import now runs after the node results and the failed-only selection are set. If it fails, the node results still show, and this toast says the relations weren't imported. The stale importedRids argument predates this PR and is harmless: discoverSharedRelations reads the imported RIDs from the graph again.
| style={{ width: "min(68rem, calc(100vw - 2rem))" }} | ||
| style={{ | ||
| width: "min(68rem, calc(100vw - 2rem))", | ||
| height: "min(48rem, calc(100vh - 4rem))", |
There was a problem hiding this comment.
The height is inline, next to the existing width, because apps/roam doesn't compile Tailwind and Roam's global stylesheet has no min() height utility.
https://entire.io/gh/DiscourseGraphs/discourse-graph/trails/22
Reviewer brief
DG: Refresh all imported nodes.4c60e7db, the relations-failure message and body scrolling) came out of the second full review and hasn't had its own review pass.Verification
On
4c60e7db:pnpm install --frozen-lockfile, thenpnpm ci:validate: passed (check-types 8/8, test:unit 6/6).npx turbo run build --filter=roam: passed.registerCommandPaletteCommands.ts.Loom video
Pending.
Scope check
$scope-checkagainst ENG-2296 and the final diff.Done When: a relations-import failure now gets its own message, and relations import runs after the node results and selection are set.Standards check
$dg-pr-adherence-checkagainst the final diff and PR metadata.Local delegated full review
$dg-delegated-full-reviewwhen no other full-review workflow is available.