Skip to content

Conversation

trangdoan982
Copy link
Collaborator

@trangdoan982 trangdoan982 commented Apr 11, 2025

https://www.loom.com/share/19f37846ff0047fb82c50e51e6bba4a1?sid=f9cf3658-e53f-4fb3-8a07-fd0b5add284b

Summary by CodeRabbit

  • New Features

    • Added a dedicated GitHub integration tab in settings, allowing users to enable syncing with GitHub Issues and configure comment display.
    • Introduced user notifications that alert when configuration changes are needed.
  • Refactor

    • Streamlined the synchronization process by dynamically linking settings to the current page, simplifying setup and removing unnecessary configuration options.

Copy link

linear bot commented Apr 11, 2025

Copy link

vercel bot commented Apr 11, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
discourse-graph ⬜️ Skipped (Inspect) May 3, 2025 10:36pm

Copy link
Contributor

coderabbitai bot commented Apr 11, 2025

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

The changes update the GitHub synchronization and configuration flow in the Roam application. The GitHubSync component has been refactored to dynamically identify the appropriate discourse node based on the current page title, replacing a static configuration tree. The NodeConfig component now features a dedicated GitHub tab with a FlagPanel and a CommentsQuery integration. Additionally, a new utility function, getBlockUidIfExists, is introduced to retrieve block UIDs dynamically, and the DiscourseNode type has been extended with GitHub-specific properties, facilitating a more dynamic GitHub sync setup.

Changes

Files Summary
apps/roam/src/components/GitHubSync.tsx Refactored GitHub sync logic: dynamically identifying discourse nodes based on the page title; simplified the isGitHubSyncPage function; and added toast notifications for missing configuration.
apps/roam/src/components/settings/NodeConfig.tsx Added a new "GitHub" tab with GitHub sync options including a FlagPanel and CommentsQuery; modified UID retrieval by using getBlockUidIfExists for "Graph Overview" and "GitHub Sync", and introduced githubCommentsFormatUid.
apps/roam/src/utils/getBlockIdIfExists.ts
apps/roam/src/utils/getDiscourseNodes.ts
Introduced a new utility function getBlockUidIfExists for dynamic UID retrieval; extended the DiscourseNode type with githubSync and githubCommentsQueryUid properties to support GitHub-related functionalities in syncing and comments management.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GitHubSync
    participant DiscourseNodes
    participant Toast

    User->>GitHubSync: Open page with title
    GitHubSync->>DiscourseNodes: Retrieve nodes by page title
    alt Node has githubSync & githubCommentsQueryUid
        GitHubSync->>GitHubSync: Process GitHub comments query
    else Missing node or query UID
        GitHubSync->>Toast: Display configuration notification
    end
Loading
sequenceDiagram
    participant User
    participant NodeConfig
    participant getBlockUidIfExists
    participant CommentsQuery

    User->>NodeConfig: Open settings page
    NodeConfig->>getBlockUidIfExists: Retrieve UIDs for "Graph Overview", "GitHub Sync", "Comments Block"
    getBlockUidIfExists-->>NodeConfig: Return respective UIDs
    NodeConfig->>CommentsQuery: Initialize Comments configuration component
    NodeConfig-->>User: Render GitHub tab with sync options and comments settings
Loading

Suggested reviewers

  • mdroidian

Poem

I'm a rabbit hopping with glee,
Code paths cleared so bright and free.
GitHub sync now springs to life,
With dynamic nodes, avoiding strife.
In lines of code I dance and play,
A carrot's cheer to celebrate this day!
🥕🐇


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@trangdoan982
Copy link
Collaborator Author

@coderabbitai review

Copy link
Contributor

coderabbitai bot commented Apr 14, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (4)
apps/roam/src/utils/getBlockIdIfExists.ts (1)

4-8: Consider adding minimal error checks.
The function is clear and concise. Optionally, you might handle cases where parentUid or key is empty to ensure defensive coding.

apps/roam/src/components/settings/NodeConfig.tsx (2)

36-39: Consider using the same approach for “Comments Block.”
githubCommentsFormatUid is obtained via getUid, while others use getBlockUidIfExists. For consistency, you might apply the same function in all cases.


169-208: Well-structured GitHub tab.
You may optionally hide or disable the “Comments Configuration” portion if “GitHub Sync” is not enabled, to declutter the UI.

apps/roam/src/components/GitHubSync.tsx (1)

113-133: Logic for matching the node is sound.
Be aware that only the first matching node is returned if multiple nodes match. Handle or document duplicates if needed.

Also applies to: 136-137

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6080afb and 34fe4a6.

📒 Files selected for processing (4)
  • apps/roam/src/components/GitHubSync.tsx (3 hunks)
  • apps/roam/src/components/settings/NodeConfig.tsx (9 hunks)
  • apps/roam/src/utils/getBlockIdIfExists.ts (1 hunks)
  • apps/roam/src/utils/getDiscourseNodes.ts (2 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
apps/roam/src/components/settings/NodeConfig.tsx (1)
apps/roam/src/utils/getBlockIdIfExists.ts (1)
  • getBlockUidIfExists (4-8)
🔇 Additional comments (12)
apps/roam/src/utils/getBlockIdIfExists.ts (1)

1-2: Imports appear correct and necessary.
No issues found.

apps/roam/src/utils/getDiscourseNodes.ts (2)

28-29: New optional properties have clear naming.
These fields align well with the rest of the type definition.


100-104: Verify null or undefined subtrees.
If "Comments Block" doesn't exist, getSubTree might return an empty object, causing .uid to be undefined. Confirm that this scenario is handled gracefully.

apps/roam/src/components/settings/NodeConfig.tsx (7)

15-16: Imports for GitHub integration look good.
Both CommentsQuery and getBlockUidIfExists are relevant additions here.


53-53: Minor styling change accepted.
The added classes help improve scrolling on narrower screens.


59-59: Good UI layout improvement.
These styles make the panel more readable.


83-83: Layout consistency maintained.
No concerns with this styling refinement.


97-97: Visual coherence is fine.
This helps keep the panel consistent with other tabs.


121-121: Continued consistent styling.
Nothing problematic noted.


137-137: Styling is uniform.
Keeps the user experience consistent across tabs.

apps/roam/src/components/GitHubSync.tsx (2)

51-51: New import is appropriate.
This import clarifies the feature check logic in this file.


271-285: Simple and effective check for GitHub Sync pages.
No concerns with performance or logic.

Copy link
Contributor

@mdroidian mdroidian left a comment

Choose a reason for hiding this comment

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

Good stuff, a few changes requested.

graphOverview:
children.filter((c) => c.text === "Graph Overview").length > 0,
githubSync: children.filter((c) => c.text === "GitHub Sync").length > 0,
githubCommentsQueryUid: getSubTree({
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's nest the comments uid under githubSync, just like we do for canvasSettings

Copy link
Contributor

@mdroidian mdroidian Apr 21, 2025

Choose a reason for hiding this comment

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

I meant both the blocks and return should be nested like canvasSettings

eg:

  canvasSettings: {
    [k: string]: string;
  };

So

githubSyncConfig: {
  enabled: boolean;
  commentsQueryUid: string;
};

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

ah i see. that makes sense.

@trangdoan982 trangdoan982 requested a review from mdroidian May 1, 2025 19:30
Copy link
Contributor

@mdroidian mdroidian left a comment

Choose a reason for hiding this comment

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

It looks like https://github.com/DiscourseGraphs/discourse-graph/pull/124/files#r2053103675 still need to be addressed. Do you have any questions regarding this?

EDIT: I'm going to go ahead and finish this up as it is blocking a few other tasks.

@mdroidian mdroidian merged commit aebc425 into roam-github-sync May 3, 2025
5 checks passed
@mdroidian mdroidian deleted the eng-207-move-sync-setting branch May 3, 2025 22:39
@github-project-automation github-project-automation bot moved this to Done in General May 3, 2025
mdroidian added a commit that referenced this pull request May 15, 2025
* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>
mdroidian pushed a commit that referenced this pull request May 16, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.
mdroidian pushed a commit that referenced this pull request May 16, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.
mdroidian pushed a commit that referenced this pull request Jun 3, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.
mdroidian pushed a commit that referenced this pull request Jun 9, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.
mdroidian pushed a commit that referenced this pull request Jun 14, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.
mdroidian pushed a commit that referenced this pull request Jun 16, 2025
author Trang Doan <[email protected]> 1744314525 -0400
committer Michael Gartner <[email protected]> 1747354088 -0600

ENG-96 Create new relationship between nodes (#115)

* instantiate new relationship worked

* fix

* address PR comments

* fix bi-directional update issues

* show only compatible node type options

* small fix

* breakdown the components. use datacore

* working

* address PR comments

* improve search by only allowing compatible node results

* .

* rm dataview

---------

Co-authored-by: Michael Gartner <[email protected]>

Move llm-api endpoints to vercel serverless (#102)

* testing gemini

* move endgoint to website

* open ai endpoint

* added anthropic endpoint

* pass env vars

* add cors handdling and options

* .

* using centralised cors middleware

* only adding bypass cookie

* use right key

* remove the bypass token requirement

* sanitize, fix routes

* remove server action config

* DRY

* remove unused

* address review

* adress review

Roam: Add feedback toggle (#118)

* add settings to hide or show button, also works when disabled or enabled midway

* review

* .

---------

Co-authored-by: Michael Gartner <[email protected]>

[ENG-197] Fix creating link with invalid chars (#121)

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam:  Add feedback button to settings menu - ENG-147 (#122)

* add button to bottom right, don't hide sdk css, tested

* remove intent not working
git

* remove ts-ignore and use a better type def

* remove styling

Update NodeConfig to use new UIDs for DiscourseNodeIndex and DiscourseNodeSpecification components (#126)

Roam: Add PostHog user identification for enhanced analytics tracking using user's roam UID as the unique identifier - ENG-177 (#123)

* add posthog identify

* remove username and email to keep it anonymus

* double userUid and best practice for js

Roam: Discourse Context Overlay - remove queue and arbitrary delay (#127)

* Refactor getOverlayInfo to use async/await and improve error handling. Update cache key from title to tag and remove overlayQueue logic for cleaner implementation.

* Remove experimental getOverlayInfo function

* Remove unused refreshUi logic

[ENG-44] Display relations (#116)

* instantiate new relationship worked

* add display relations

* remove dv

* sm fix

[ENG-198] Filtered out related file in search (#125)

* filtered out related file

* fix some naming

[ENG-97] Use TailwindCSS in obsidian app (#128)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

[ENG-192] Change all existing styles to using tw (#129)

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

* Update Obsidian app to integrate Tailwind CSS with PostCSS and Autoprefixer support

- Added Tailwind CSS, PostCSS, and Autoprefixer to package dependencies
- Configured styles.css to include Tailwind directives
- Enhanced compile script to process styles using PostCSS with Tailwind and Autoprefixer

* delete irrelevant package

* changing all styles to tailwindcss

---------

Co-authored-by: Michael Gartner <[email protected]>

Roam: Bug-fix: Don't let user create discourse nodes with empty text using node context menu - ENG-171 (#130)

* functional covering all three cases tested locally

* apply coderabbit review suggestion

* better approach one that I understand and can reason about

* accidental removal of onClose

Update Roam app version to 0.13.0 in package.json and package-lock.json (#134)

[ENG-204] Move from localStorage to extensionAPI.settings (#133)

* cur progress

* address PR comments

* kinda works. need to test more

* small fix

* address PR comments

.

Create publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Enhance DiscourseContextOverlay: Update button styles to include loading state and improve score/ref display during loading. Use placeholders for score and refs when loading. (#136)

.

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Update publish-obsidian.yml

Refactor ExportDialog: Remove discourseGraphEnabled state and simplify FormGroup visibility logic. Set includeDiscourseContext to false by default. (#139)

Enhance LabelDialog: Add confirmText to return object for improved button text handling based on action type. (#141)

Additional styles / cursor rules (#142)

* Update STYLE_GUIDE.md and main.mdc: Add guideline for utilizing utility functions for reusable logic and common operations.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer arrow functions over regular function declarations.

* Update main.mdc: Add guideline to prefer Tailwind classes when refactoring inline styles.

* Update STYLE_GUIDE.md and main.mdc: Add guideline to prefer early returns over nested conditionals for improved readability.

Roam: When a user deletes a node also delete all the corresponding relations to the node - ENG-26 (#149)

* ask user for confirmation, delete corresponding relations

* address review

* address review

* address comments

[ENG-301] Create node in right-click menu (#152)

* create node in right-click menu

* small fix

* address PR comments

* address PR comments

add readme and remove sample commands

remove sample editor command

rm space

minor fixes

Roam: Bug fix - Insert Discourse Node after creation (#154)

* remove focus after menu select to allow updateBlock to work

* add clarifying comment

[ENG-308] Add command to open DG settings (#158)

* add command to open DG settings

* edit comment

ENG-322 - Switch from MIT to Apache 2.0 license (#156)

* Switch from MIT to Apache 2.0 license

* copyright discourse graphs

* rm liscense from apps/roam

---------

Co-authored-by: Michael Gartner <[email protected]>

initial port

[ENG-207] Move Github sync setting to individual nodes (#124)

* current progress

* improve in UI: if sync is turned off then also turn off the comments configuration

* address PR comments

* revert graphOverviewUid bug

* revert graphOverviewUid bug - getDiscourseNodes

* avoid racing conditions for github sync

* nested settings

* temp fix to race condition

* remove unecessary DOM and match existing styles

---------

Co-authored-by: Michael Gartner <[email protected]>

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

.

Refactor Export components to use getSetting for consistent settings retrieval

- Updated ExportDialog and ExportGithub components to replace localStorageGet with getSetting for fetching GitHub OAuth and repository settings.
- Modified extensionSettings utility functions to use arrow functions and provide a default value for getSetting.
- Improved code readability and maintainability by standardizing the method of accessing settings.

Eng 286 show when GitHub sync is disabled globally (#143)

* Refactor GitHub Sync settings in NodeConfig and GeneralSettings components

- Updated the onChange handler for GitHub Sync to use async/await and added a timeout for refreshing the config tree.
- Introduced a global settings check in NodeConfig to conditionally render the GitHub Sync checkbox and comments configuration.
- Passed setMainTab prop to NodeConfig for better navigation control.

This improves the user experience by ensuring that settings are updated correctly and provides clear feedback when global settings are disabled.

* matchingNode fix

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

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants