Skip to content

[ENG-1890] Add Publish tab to Roam query-results share dialog#1133

Open
sid597 wants to merge 8 commits into
mainfrom
eng-1890-add-publish-tab-to-roam-query-results-share-dialog
Open

[ENG-1890] Add Publish tab to Roam query-results share dialog#1133
sid597 wants to merge 8 commits into
mainfrom
eng-1890-add-publish-tab-to-roam-query-results-share-dialog

Conversation

@sid597

@sid597 sid597 commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

https://www.loom.com/share/d7cd9e76c02f46c6ad13fcda24088b90

Adds a "Publish" tab to the Roam Share Data / query-results dialog (Export.tsx), gated on isSyncEnabled(), that grants a sharing group access to the selected query-result discourse nodes via the existing SpaceAccess/ResourceAccess group-targeted model.

  • Promote getMyGroups/getAvailableGroupIds/MyGroup from Obsidian's importNodes util to shared @repo/database/lib/groups; Obsidian's file becomes a behaviour-preserving re-export shim.
  • New apps/roam/src/utils/publishNodesToGroups.ts: grants access only to nodes already synced (present in my_concepts) and reports the rest as not-yet-synced; upserts SpaceAccess (partial) + ResourceAccess for each node and its schema concept.
  • PublishPanel with multi-group picker, non-discourse-result filter, and a success/skipped/failed count toast.

Open in Devin Review

Adds a "Publish" tab to the Roam Share Data / query-results dialog
(Export.tsx), gated on isSyncEnabled(), that grants a sharing group
access to the selected query-result discourse nodes via the existing
SpaceAccess/ResourceAccess group-targeted model.

- Promote getMyGroups/getAvailableGroupIds/MyGroup from Obsidian's
  importNodes util to shared @repo/database/lib/groups; Obsidian's file
  becomes a behaviour-preserving re-export shim.
- New apps/roam/src/utils/publishNodesToGroups.ts: grants access only to
  nodes already synced (present in my_concepts) and reports the rest as
  not-yet-synced; upserts SpaceAccess (partial) + ResourceAccess for each
  node and its schema concept.
- PublishPanel with multi-group picker, non-discourse-result filter, and
  a success/skipped/failed count toast.
@linear-code

linear-code Bot commented Jun 19, 2026

Copy link
Copy Markdown

ENG-1890

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
discourse-graph Skipped Skipped Jun 28, 2026 6:23pm

Request Review

@supabase

supabase Bot commented Jun 19, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project zytfjzqyijgagqxrzbmz because there are no changes detected in packages/database/supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 4 potential issues.

View 1 additional finding in Devin Review.

Open in Devin Review

Comment thread apps/roam/src/components/Export.tsx Outdated
Comment thread apps/roam/src/utils/publishNodesToGroups.ts
Comment thread apps/roam/src/utils/publishNodesToGroups.ts
Comment thread apps/roam/src/utils/publishNodesToGroups.ts

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 75ec5a3916

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/roam/src/utils/publishNodesToGroups.ts
@graphite-app

graphite-app Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

PR size/scope check

This PR is over our review-size guideline.

  • Recommended: ~200 lines changed
  • Acceptable limit: up to 400 lines when well-scoped/self-contained
  • Preferred file count: fewer than 5 files

Please split this into smaller PRs unless there is a clear reason the changes need to land together.

If keeping it as one PR, please add a brief justification covering:

  • What single problem this PR solves
  • Why the files/changes are coupled

@sid597 sid597 requested review from maparent and mdroidian and removed request for maparent and mdroidian June 23, 2026 18:14
Comment thread packages/database/src/lib/groups.ts
Comment thread apps/roam/src/components/Export.tsx Outdated
Comment thread apps/roam/src/components/Export.tsx Outdated
@sid597 sid597 requested review from maparent and mdroidian June 23, 2026 18:26
Comment thread apps/roam/src/components/Export.tsx Outdated
Comment thread apps/roam/src/components/Export.tsx Outdated

@maparent maparent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@maparent maparent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, but then saw missing functionality: When a node is already shared to a group, the button for that group should be already checked.

* [ENG-1851] Add Roam single-node share command (capture-half)

Add a 'DG: Share current node' command-palette action, gated on
isSyncEnabled(). It deterministically captures the current page's
discourse node (page uid = source-local id), validates it via
findDiscourseNode, and opens the existing Share Data dialog with
exactly one node.

The Publish-tab handoff (initialPanel: "publish") is deferred to
ENG-1890, which owns Export.tsx's initialPanel union and the tab;
finishing it is a one-line change to the exportRender call here.

Mirrors Obsidian's publish-discourse-node command and Roam's
exportCurrentPage.

* [ENG-1851] Open single-node share on Publish tab

* [ENG-1851] Add page title publish button

* [ENG-1851] Align title publish actions

* [ENG-1851] Gate publish action availability

* [ENG-1851] Inline title action layout styles

* [ENG-1851] Address title publish review nits
…ublish tab

Publish detects discourse nodes by query-result uid (consistent with export); non-node results are skipped and reported, per review. Show-existing-access is deferred to a new ticket.
@sid597

sid597 commented Jun 28, 2026

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Hooray!

Reviewed commit: dcf7faff5e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@sid597 sid597 requested review from maparent and mdroidian June 28, 2026 15:52
Comment thread apps/roam/src/components/Export.tsx Outdated
@sid597 sid597 requested review from maparent and removed request for maparent June 28, 2026 18:23

@maparent maparent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The functionality I requested will be handled separately.

@sid597

sid597 commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator Author

Approved, but then saw missing functionality: When a node is already shared to a group, the button for that group should be already checked.

ENG-1968: When a node is already shared to a group, the button for that group should be already checked

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants