Skip to content

Conversation

@graphite-app
Copy link
Contributor

@graphite-app graphite-app bot commented Dec 23, 2025

This draft PR was created by the Graphite merge queue.
Trunk will be fast forwarded to the HEAD of this PR when CI passes, and the original PRs will be closed.

The following PRs are included in this draft PR:

devin-ai-integration bot and others added 7 commits December 23, 2025 07:22
…tion (#2486)

# feat: add path2 plugin for centralized path resolution with dev isolation

## Summary

This PR introduces a new `path2` plugin that centralizes path resolution logic for Hyprnote. The key behavior is dev environment isolation: in debug builds, the plugin returns `app_data_dir` (which resolves to `com.hyprnote.dev`), while in release builds it returns `data_dir/hyprnote` (shared across staging/nightly/stable).

The plugin provides both Rust and TypeScript APIs:
- Rust: `app.path2().base()`
- TypeScript: `import { commands } from "@hypr/plugin-path2"; commands.base()`

Also cleans up orphaned `@hypr/plugin-db` references from `packages/tiptap` and `packages/utils`.

## Review & Testing Checklist for Human

- [ ] **Verify `cfg!(debug_assertions)` is the correct mechanism for dev detection** - This is a compile-time check, meaning the path logic is baked in at build time. Confirm this matches the intended behavior (staging/nightly/stable builds should all use release mode).

- [ ] **Check that `@hypr/plugin-db` removal doesn't break anything** - The PR removes this dependency from `packages/tiptap/package.json` and `packages/utils/package.json`. Verify no code in these packages actually imports from `@hypr/plugin-db`.

- [ ] **Review the `create_dir_all` side effect in `base()`** - The function creates the directory if it doesn't exist. Confirm this is acceptable behavior for a path resolution function.

- [ ] **Test the plugin in the running desktop app** - Run `ONBOARDING=0 pnpm -F desktop tauri dev` and verify the path resolution works correctly. Check that data is written to the expected location.

### Notes

- Link to Devin run: https://app.devin.ai/sessions/6893a63da49c44f28ee5e560ebcd4b15
- Requested by: yujonglee (@yujonglee)
refactor(listener2): use path2 plugin for base path resolution

style: fix formatting in settings lib.rs

Co-Authored-By: yujonglee <[email protected]>
@netlify
Copy link

netlify bot commented Dec 23, 2025

Deploy Preview for hyprnote ready!

Name Link
🔨 Latest commit 37495a2
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote/deploys/694a433f2c4ee30008859d31
😎 Deploy Preview https://deploy-preview-2494--hyprnote.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Dec 23, 2025

Deploy Preview for hyprnote-storybook ready!

Name Link
🔨 Latest commit 37495a2
🔍 Latest deploy log https://app.netlify.com/projects/hyprnote-storybook/deploys/694a433fd988910008e6e575
😎 Deploy Preview https://deploy-preview-2494--hyprnote-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@graphite-app graphite-app bot closed this Dec 23, 2025
@graphite-app graphite-app bot deleted the gtmq_spec_cefa9a_1766474554561-482b658d-98d0-41f3-8020-1278e3f041d3 branch December 23, 2025 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants