From 7ac13c9ef2845d3220f1d010e0709b5860f56564 Mon Sep 17 00:00:00 2001 From: Trang Doan Date: Wed, 18 Mar 2026 15:20:43 -0400 Subject: [PATCH 1/7] add doc --- .../docs/obsidian/pages/sync-and-import.md | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index 7ab91ab5d..124df65ed 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -69,6 +69,7 @@ Before publishing, make sure: 4. The plugin will: - Publish the node to your group + - **Automatically publish any relations** connected to this node where the other endpoint has already been published to the same group - Sync any embedded assets (images, attachments) to the shared storage - Update the node's frontmatter with a `publishedToGroups` field @@ -77,6 +78,12 @@ Before publishing, make sure: > **Tip:** If you see the message "Please sync the node first", wait a moment for the automatic sync to complete, or manually trigger a sync via the command palette using **"Discourse Graph: Sync discourse nodes to Supabase"**. ![Sync command](/docs/obsidian/sync-command.png) + +> **Note on publishing relations:** Relations between nodes are published **automatically** — you do not need to publish them separately. When you publish a node, the plugin checks all its relations and publishes any where: +> - Both the source and destination nodes are published to the same group, **and** +> - The relation type is defined in your discourse relation settings +> +> This means the order you publish nodes matters: if you publish node A before node B, the relation between them will be published when you publish node B (since at that point both endpoints will be in the group). --- ## Importing discourse nodes from another space @@ -95,10 +102,18 @@ Importing allows you to bring published discourse nodes from other group members ![Selecting nodes to import](/docs/obsidian/import-modal.png) -4. The plugin will import each selected node and display a progress bar. Once complete, a confirmation notice will appear showing how many nodes were imported successfully. +4. Before importing, the modal shows an **import preview** summarizing everything that will be created: + - Number of nodes and relations to be imported + - Any new node types that will be added to your vault + - Any new relation types that will be added + - Any new discourse relation triplets (source → relation → destination) that will be established + +5. The plugin will import each selected node **and their associated relations**, then display a progress bar. Once complete, a confirmation notice will appear showing how many nodes and relations were imported successfully. Imported nodes are saved in an `import/{spaceName}/` folder in your vault, preserving the original space organization. +> **Note:** Relations are only imported when **both** the source and destination nodes are present in your local vault (either as previously imported nodes or nodes you already have locally). Relations whose endpoints are missing will be skipped. + ![Import location](/docs/obsidian/import-location.png) --- @@ -121,8 +136,8 @@ Alternatively, you can click the "Refresh" button in the Discourse Context panel ## Summary of commands - **Sync discourse nodes to Supabase**: Manually sync all discourse nodes to the database -- **Publish current node to lab space**: Publish the active discourse node to your group -- **Import nodes from another space**: Open the import modal to browse and import shared nodes +- **Publish current node to lab space**: Publish the active discourse node to your group, including any relations whose other endpoint is already published to the same group +- **Import nodes from another space**: Open the import modal to browse and import shared nodes along with their relations - **Fetch latest content from imported nodes**: Refresh all imported nodes with the latest content From 500b4a49ffaf3428b3be9d08d202703f11feec2d Mon Sep 17 00:00:00 2001 From: Trang Doan Date: Wed, 18 Mar 2026 16:00:32 -0400 Subject: [PATCH 2/7] update --- .../docs/obsidian/pages/sync-and-import.md | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index 124df65ed..8e4b938c4 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -10,6 +10,7 @@ The Sync and Import feature allows you to synchronize your discourse nodes with > **Note:** This feature is currently in **beta**. The sync functionality requires an active connection to the Discourse Graph database. > **Warning:** When using sync and import: +> > - Don't edit the things you imported > - Don't click to create new files (from imported nodes) > - Don't delete imported node types @@ -65,7 +66,7 @@ Before publishing, make sure: 2. **Open the command palette** by pressing `Cmd/Ctrl + P` 3. **Search for the publish command** by typing "Publish" and select **"Discourse Graph: Publish current node to lab space"** -![Publish command in palette](/docs/obsidian/publish-command.png) + ![Publish command in palette](/docs/obsidian/publish-command.png) 4. The plugin will: - Publish the node to your group @@ -74,16 +75,13 @@ Before publishing, make sure: - Update the node's frontmatter with a `publishedToGroups` field 5. A confirmation notice will appear: **"Published"** -![Node published successfully](/docs/obsidian/publish-success.png) + ![Node published successfully](/docs/obsidian/publish-success.png) -> **Tip:** If you see the message "Please sync the node first", wait a moment for the automatic sync to complete, or manually trigger a sync via the command palette using **"Discourse Graph: Sync discourse nodes to Supabase"**. -![Sync command](/docs/obsidian/sync-command.png) +**Note on publishing relations:** Relations between nodes are published **automatically** — you do not need to publish them separately. When you publish a node, the plugin checks all its relations and publishes any where: + +- Both the source and destination nodes are published to the same group, **and** +- The relation type is defined in your discourse relation settings -> **Note on publishing relations:** Relations between nodes are published **automatically** — you do not need to publish them separately. When you publish a node, the plugin checks all its relations and publishes any where: -> - Both the source and destination nodes are published to the same group, **and** -> - The relation type is defined in your discourse relation settings -> -> This means the order you publish nodes matters: if you publish node A before node B, the relation between them will be published when you publish node B (since at that point both endpoints will be in the group). --- ## Importing discourse nodes from another space @@ -112,10 +110,10 @@ Importing allows you to bring published discourse nodes from other group members Imported nodes are saved in an `import/{spaceName}/` folder in your vault, preserving the original space organization. -> **Note:** Relations are only imported when **both** the source and destination nodes are present in your local vault (either as previously imported nodes or nodes you already have locally). Relations whose endpoints are missing will be skipped. - ![Import location](/docs/obsidian/import-location.png) +> **Note:** Relations are only imported when **both** the source and destination nodes are present in your local vault (either as previously imported nodes or nodes you already have locally). Relations whose endpoints are missing will be skipped. + --- ## Refreshing imported nodes @@ -130,22 +128,23 @@ After importing, you can fetch the latest content from the original sources to k Alternatively, you can click the "Refresh" button in the Discourse Context panel. -![Refresh button](/docs/obsidian/refresh-button.png) ---- +## ![Refresh button](/docs/obsidian/refresh-button.png) ## Summary of commands -- **Sync discourse nodes to Supabase**: Manually sync all discourse nodes to the database +- **Sync discourse nodes to Supabase**: Manually sync all discourse nodes to the database - **Publish current node to lab space**: Publish the active discourse node to your group, including any relations whose other endpoint is already published to the same group - **Import nodes from another space**: Open the import modal to browse and import shared nodes along with their relations -- **Fetch latest content from imported nodes**: Refresh all imported nodes with the latest content - +- **Fetch latest content from imported nodes**: Refresh all imported nodes with the latest content ## Troubleshooting - **"Sync mode is not enabled"** — You need to enable sync mode in the admin panel first (see [Enabling sync mode](#enabling-sync-mode) above) -- **"Please sync the node first"** — The node hasn't been synced yet. Wait for automatic sync or trigger a manual sync +- **"Please sync the node first"** — The node hasn't been synced yet. Wait for automatic sync or trigger a manual sync via the command palette using **"Discourse Graph: Sync discourse nodes to Supabase"**. + +![Sync command](/docs/obsidian/sync-command.png) + - **"You are not a member of any groups"** — You need to be added to a group before you can import nodes. Contact your team administrator - **No importable nodes found** — Either no nodes have been published to your groups, or you have already imported all available nodes - If you want to see more information about imported nodes, you can unhide frontmatter information in the setting panel -![Show frontmatter](/docs/obsidian/show-frontmatter.png) \ No newline at end of file + ![Show frontmatter](/docs/obsidian/show-frontmatter.png) From 4016c151070be496dc55a9afe64beadb88690b13 Mon Sep 17 00:00:00 2001 From: Trang Doan Date: Wed, 18 Mar 2026 16:03:22 -0400 Subject: [PATCH 3/7] correct --- apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index 8e4b938c4..fdb72e479 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -106,7 +106,7 @@ Importing allows you to bring published discourse nodes from other group members - Any new relation types that will be added - Any new discourse relation triplets (source → relation → destination) that will be established -5. The plugin will import each selected node **and their associated relations**, then display a progress bar. Once complete, a confirmation notice will appear showing how many nodes and relations were imported successfully. +5. The plugin will import each selected node **and their associated relations**, then display a progress bar. Once complete,you will see a confirmation notice. Imported nodes are saved in an `import/{spaceName}/` folder in your vault, preserving the original space organization. From e7d46e4d9546c9ba202418b246bddc7f3924134e Mon Sep 17 00:00:00 2001 From: Trang Doan <44855874+trangdoan982@users.noreply.github.com> Date: Wed, 18 Mar 2026 15:03:07 -0700 Subject: [PATCH 4/7] Update apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index fdb72e479..364769533 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -128,7 +128,8 @@ After importing, you can fetch the latest content from the original sources to k Alternatively, you can click the "Refresh" button in the Discourse Context panel. -## ![Refresh button](/docs/obsidian/refresh-button.png) +![Refresh button](/docs/obsidian/refresh-button.png) + ## Summary of commands From e89509745ba92d791fb4a6476978e4bf917914ea Mon Sep 17 00:00:00 2001 From: Trang Doan <44855874+trangdoan982@users.noreply.github.com> Date: Wed, 18 Mar 2026 15:03:24 -0700 Subject: [PATCH 5/7] Update apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> --- apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index 364769533..a0226e5df 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -106,7 +106,7 @@ Importing allows you to bring published discourse nodes from other group members - Any new relation types that will be added - Any new discourse relation triplets (source → relation → destination) that will be established -5. The plugin will import each selected node **and their associated relations**, then display a progress bar. Once complete,you will see a confirmation notice. +5. The plugin will import each selected node **and their associated relations**, then display a progress bar. Once complete, you will see a confirmation notice. Imported nodes are saved in an `import/{spaceName}/` folder in your vault, preserving the original space organization. From db2eb673a17ca0d561b3a385a04053556feab837 Mon Sep 17 00:00:00 2001 From: Trang Doan Date: Wed, 18 Mar 2026 18:04:32 -0400 Subject: [PATCH 6/7] format --- apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index a0226e5df..fb8fb53df 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -130,7 +130,6 @@ Alternatively, you can click the "Refresh" button in the Discourse Context panel ![Refresh button](/docs/obsidian/refresh-button.png) - ## Summary of commands - **Sync discourse nodes to Supabase**: Manually sync all discourse nodes to the database From c6316a878a7507f6cca46755e5930630b9dace86 Mon Sep 17 00:00:00 2001 From: Trang Doan Date: Mon, 23 Mar 2026 11:08:00 -0400 Subject: [PATCH 7/7] address PR comment --- apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md index fb8fb53df..a2fede972 100644 --- a/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md +++ b/apps/website/app/(docs)/docs/obsidian/pages/sync-and-import.md @@ -146,5 +146,5 @@ Alternatively, you can click the "Refresh" button in the Discourse Context panel - **"You are not a member of any groups"** — You need to be added to a group before you can import nodes. Contact your team administrator - **No importable nodes found** — Either no nodes have been published to your groups, or you have already imported all available nodes -- If you want to see more information about imported nodes, you can unhide frontmatter information in the setting panel +- The frontmatter fields related to sync are normally hidden. You can choose to display them in the setting panel ![Show frontmatter](/docs/obsidian/show-frontmatter.png)