Skip to content

Conversation

@sid597
Copy link
Collaborator

@sid597 sid597 commented Apr 11, 2025

Summary by CodeRabbit

  • New Features

    • Added a "Send Feedback" button to the settings dialog, enabling users to submit feedback directly.
    • Introduced a new optional method for the feedback widget to enhance functionality.
  • Style

    • Adjusted the display behavior of feedback elements for a more consistent interface experience.

@vercel
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) Apr 11, 2025 4:03am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 11, 2025

📝 Walkthrough

Walkthrough

The changes modify the FeedbackWidget type declaration by adding the export keyword and introducing an optional trigger method. The addFeedbackButtonHidingStyles function is updated to remove the CSS selector #birdeatsbug-sdk, allowing that element to be visible. Additionally, a "Send Feedback" button is added to the SettingsDialog component, which, when clicked, invokes the trigger method on the birdeatsbug object.

Changes

File(s) Changes
apps/roam/.../BirdEatsBugs.tsx Updated FeedbackWidget type to export type FeedbackWidget and added trigger?: () => FeedbackWidget;. Removed #birdeatsbug-sdk from hiding styles.
apps/roam/.../Settings.tsx Added a "Send Feedback" button to the settings dialog, styled with an icon, which calls the trigger method on the birdeatsbug object when clicked.

Sequence Diagram(s)

sequenceDiagram
    participant U as User
    participant S as SettingsDialog
    participant B as window.birdeatsbug

    U->>S: Click "Send Feedback" button
    S->>B: Call trigger()
    B-->>U: Open feedback tool
Loading

Possibly related PRs

  • Roam: Add feedback toggle #118: The changes in the main PR are related to the modifications of the FeedbackWidget type and the introduction of the trigger method, which are directly utilized in the retrieved PR's addition of a "Send Feedback" button that invokes this method.

Suggested reviewers

  • mdroidian

Poem

Hop, skip, and bound through lines of code,
A rabbit's joy where new buttons explode.
Bugs once hidden now dance in view,
With feedback triggered, fresh and new.
🐰 Code blooms like spring in every node!

Tip

⚡💬 Agentic Chat (Pro Plan, General Availability)
  • We're introducing multi-step agentic chat in review comments and issue comments, within and outside of PR's. This feature enhances review and issue discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments and add commits to existing pull requests.

📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 09c9e0d and 0d83547.

📒 Files selected for processing (2)
  • apps/roam/src/components/BirdEatsBugs.tsx (2 hunks)
  • apps/roam/src/components/settings/Settings.tsx (3 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
apps/roam/src/components/settings/Settings.tsx (1)
apps/roam/src/components/BirdEatsBugs.tsx (1)
  • FeedbackWidget (4-37)
🔇 Additional comments (6)
apps/roam/src/components/BirdEatsBugs.tsx (3)

4-4: Good addition of export keyword

Making the FeedbackWidget type exportable allows it to be imported and used in other files, which improves code organization and type safety.


36-36: Well-structured type addition

Adding the optional trigger method to the FeedbackWidget type properly models the API of the BirdEatsBug library and enables proper type checking when this method is called from other components.


47-61: Feedback button visibility changes look good

The changes to the addFeedbackButtonHidingStyles function now only hide the default button (#birdeatsbug-default-button) while allowing the SDK itself to be visible. This aligns with adding a custom feedback button in the Settings dialog.

apps/roam/src/components/settings/Settings.tsx (3)

3-11: Appropriate imports for new functionality

The additional imports from @blueprintjs/core are necessary for the new feedback button implementation. Good organization of imports.


27-27: Clean type import

Importing the FeedbackWidget type improves type safety when working with the birdeatsbug object.


202-212: Well-implemented feedback button

The "Send Feedback" button is cleanly integrated into the Settings dialog with appropriate styling and positioning. I particularly like:

  1. Using type casting instead of @ts-ignore
  2. The optional chaining syntax (?.) on the trigger method call which prevents runtime errors if the method doesn't exist

The implementation properly connects the UI element to the feedback functionality.

✨ Finishing Touches
  • 📝 Generate Docstrings

🪧 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.

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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @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.

Copy link
Collaborator Author

@sid597 sid597 left a comment

Choose a reason for hiding this comment

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

from cursor self-code review

I'll review the code we've implemented for the feedback button in the Settings component according to the Style Guide and project conventions.

Code Review for Settings.tsx and Feedback Button Implementation

TypeScript Guidelines

  • ✅ We're using explicit types for props and parameters
  • ✅ We're avoiding any types where possible, though we did need to use @ts-ignore for the BirdEatsBug trigger call

UI Guidelines

  • ✅ Using BlueprintJS components (Button) as required for Roam
  • ✅ Following Roam's visual style with appropriate button styling
  • ✅ Used Tailwind CSS for positioning (absolute bottom-4 right-4)
  • ✅ Maintained visual consistency with the host application

Code Formatting

  • ✅ Following consistent naming conventions (PascalCase for components, camelCase for variables)
  • ✅ Code formatting aligns with the rest of the project

Documentation

  • ⚠️ The comment for @ts-ignore is good but could be more specific about why we need to ignore TypeScript
  • ✅ Avoided unnecessary comments

Code Organization

  • ✅ The button implementation is clean and focused
  • ✅ The component structure follows the existing pattern in the application
  • ✅ We're following the single responsibility principle for the feedback button

Areas for Improvement

  1. Icon Implementation: The SVG implementation is a bit verbose. Following the style guide's principle of extracting complex logic, we could have created a reusable component for this icon.

  2. Styling Approach: We had to use inline styles with !important to override conflicting styles. A more maintainable approach might be to create dedicated CSS classes in a stylesheet.

  3. Error Handling: We don't have explicit error handling if the window.birdeatsbug.trigger() fails. The style guide emphasizes handling edge cases.

  4. Consistency with Other Buttons: The styling approach differs slightly from other buttons in the application, which might make future maintenance more challenging.

  5. Documentation: We could add a brief comment explaining the purpose of this feedback button and how it integrates with the BirdEatsBug service.

Following Cursor Rules

The implementation respects the Roam-specific cursor rules mentioned in the context:

  • ✅ Using BlueprintJS 3 components
  • ✅ Using Tailwind CSS for styling
  • ✅ Following the platform-native UI approach

Overall, the implementation is solid and adheres to most of the style guidelines. The minor issues noted would be good candidates for future refactoring if needed.

<Button
style={{ backgroundColor: "#1976d2" }}
onClick={() => {
// @ts-ignore - Directly trigger the feedback tool
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

from cursor:

The @ts-ignore comment is needed for the window.birdeatsbug.trigger() call because of TypeScript's type checking system. Let me explain why it's not working by default:

Why the TypeScript Error Occurs

  1. External Global Object: window.birdeatsbug is added to the global window object at runtime by an external script, but TypeScript doesn't know about it by default.

  2. Type Definition Challenges: Although we attempted to define the type with declare global { interface Window { birdeatsbug?: ... } }, there were conflicts with existing type definitions already present elsewhere in the codebase. Our console errors showed:

    Subsequent property declarations must have the same type. 
    Property 'birdeatsbug' must be of type 'any[] | FeedbackWidget | undefined', 
    but here has type '{ trigger: () => void; } | undefined'.
    
  3. Conflicting Definitions: The error suggests there's already a definition for window.birdeatsbug in the codebase (as either any[] or a FeedbackWidget type), and our attempt to add a more specific type was creating a conflict.

Why We Need @ts-ignore

We use @ts-ignore to tell TypeScript to skip type checking for the specific line where we call window.birdeatsbug.trigger(). This is necessary because:

  1. The BirdEatsBug library is dynamically loaded and initialized
  2. TypeScript's static analysis doesn't recognize the methods available on this object
  3. We couldn't properly extend the Window interface due to conflicts with existing definitions
  4. We're confident the method will exist when called (assuming BirdEatsBug is properly initialized)

Better Solutions We Could Have Used

  1. Type Assertion: Instead of @ts-ignore, we could have used a type assertion:

    (window.birdeatsbug as any).trigger();
  2. Better Type Definitions: We could create a more compatible type definition that extends the existing ones rather than conflicting with them.

  3. Checking Existence: We could add a runtime check like:

    if (window.birdeatsbug && typeof window.birdeatsbug.trigger === 'function') {
      window.birdeatsbug.trigger();
    }

The reason it doesn't work by default is that TypeScript can't verify at compile time that the dynamically-added property and method will exist at runtime, and our attempts to declare the type properly ran into conflicts with existing declarations in the codebase.

@sid597 sid597 requested a review from mdroidian April 11, 2025 01:43
@sid597 sid597 marked this pull request as draft April 11, 2025 01:43
@sid597
Copy link
Collaborator Author

sid597 commented Apr 11, 2025

@coderabbitai review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 11, 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.

@sid597 sid597 marked this pull request as ready for review April 11, 2025 01:59
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.

Let's talk about this on our call.

@sid597 sid597 changed the title add button to bottom right, don't hide sdk css, tested Roam: Add feedback button to settings menu ENG-147 Apr 11, 2025
@linear
Copy link

linear bot commented Apr 11, 2025

@sid597 sid597 changed the title Roam: Add feedback button to settings menu ENG-147 Roam: Add feedback button to settings menu - ENG-147 Apr 11, 2025
@sid597
Copy link
Collaborator Author

sid597 commented Apr 11, 2025

@coderabbitai full review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 11, 2025

✅ Actions performed

Full review triggered.

@mdroidian mdroidian merged commit 4646003 into main Apr 11, 2025
4 checks passed
@github-project-automation github-project-automation bot moved this to Done in General Apr 11, 2025
@mdroidian mdroidian deleted the button-in-settings-menu branch April 11, 2025 04:45
mdroidian pushed a commit that referenced this pull request May 16, 2025
author Trang Doan <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <44855874+trangdoan982@users.noreply.github.com> 1744314525 -0400
committer Michael Gartner <mclicks@gmail.com> 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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

* fix creating link with invalid chars

* placeholder update

---------

Co-authored-by: Michael Gartner <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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 <mclicks@gmail.com>

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

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants