fix: official vim/math/mermaid install and shared Dripnex userData - #567
Conversation
Official slugs (dripnex-vim-mode, mermaid, math) resolve to their GitHub owner/repo so Settings and dripnex-plugin do not 404 on a missing registry row. Updates match scan id or repository. CLI userData prefers the packaged Dripnex productName path. Closes #547 and #562. Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
|
Warning Review limit reached
Next review available in: 57 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (14)
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. Comment |
|
🎉 This PR is included in version 0.16.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Summary
Packaged Linux 0.16.1 still wrote plugins/DB/logs under
`~/.config/@dripnex/desktop` because Electron `app.getPath('userData')`
follows package.json `name` `@dripnex/desktop`. #567 only aligned CLI
`resolveUserDataRoot`. This PR sets the Electron app name and userData
to productName `Dripnex` before `createDataPaths`, so the packaged app
and `dripnex-plugin` share one folder.
## Type of Change
- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [x] Documentation update
## Related Issues
Closes #572
## What changed
1. **Runtime** — `applyProductUserData()` runs before Sentry and
`requestSingleInstanceLock`. It calls `app.setName('Dripnex')` and
`app.setPath('userData', resolveUserDataRoot())` unless Chromium already
has `--user-data-dir` (e2e).
2. **Package metadata** — root `productName: "Dripnex"` plus
electron-builder `extraMetadata.productName` so packaged `package.json`
does not rely on the scoped npm name for `app.getName()`.
3. **No silent migrate** — existing `@dripnex/desktop` with `dripnex.db`
or `plugins/` stays put via `pickUserDataRoot`. Fresh installs use
`~/.config/Dripnex` / `%APPDATA%/Dripnex` / `~/Library/Application
Support/Dripnex`.
4. **Docs** —
[`docs/plugins/install-path.md`](docs/plugins/install-path.md) records
the packaged-app contract.
No marketplace. No iOS. No release cut.
## Checklist
- [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md)
- [x] Targeted tests pass (`@dripnex/storage-core` 29,
`@dripnex/plugin-cli` 19) and desktop/storage-core typecheck
- [ ] Full `pnpm test` / `pnpm build` (not required for this path-only
change)
- [x] PR targets `develop` branch (not `main`)
## Test plan
- [x] Unit: `resolveElectronUserData` names the app `Dripnex`, defaults
to the packaged folder on Linux/Windows/macOS, keeps an existing scoped
folder that already has `dripnex.db`, honors `DRIPNEX_DATA_DIR`, leaves
`--user-data-dir` alone
- [ ] Packaged Linux log `dataDir` is `~/.config/Dripnex` on a fresh
machine
- [ ] CLI `dripnex-plugin` and the packaged app resolve the same plugins
dir
- [ ] e2e `--user-data-dir` / `DRIPNEX_DATA_DIR` still isolate tests
<!-- CURSOR_AGENT_PR_BODY_END -->
<div><a
href="https://cursor.com/agents/bc-4d7bdc7f-21c2-43f5-9215-8ae46bc3b625?cursor_ref=pr_footer&cursor_cta=open_in_web"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-web-light.png"><img
alt="Open in Web" width="114" height="28"
src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a> <a
href="https://cursor.com/background-agent?bcId=bc-4d7bdc7f-21c2-43f5-9215-8ae46bc3b625&cursor_ref=pr_footer&cursor_cta=open_in_cursor"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source
media="(prefers-color-scheme: light)"
srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img
alt="Open in Cursor" width="131" height="28"
src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a> </div>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Rebranded the desktop app as Dripnex.
* Improved shared data-folder handling between the desktop app and CLI.
* Added support for explicitly configured custom user-data directories.
* Preserved existing application data across supported configurations.
* **Documentation**
* Updated installation guidance for user-data directory resolution.
* **Tests**
* Added coverage for platform-specific paths, custom directories, and
application naming.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Summary
Packaged users can enable Vim (and mermaid/math) from Settings → Plugins without cloning a repo. Official slugs resolve to GitHub
owner/repo, Browse keeps fallback cards when the live registry omits them, Updates match id or repository, and the CLI writes to the sameDripnexuserData folder as the packaged app.No marketplace. Official first-party packs only. AuthGate untouched.
Type of Change
Related Issues
Closes #547
Closes #562
What changed
dripnex-vim-modeanddripnex/plugin-vimboth resolve todripnex/plugin-vim(same for mermaid/math).GET /plugins/:slug404 no longer blocks Install. Decision:docs/plugins/install-path.md.COMMUNITY_CATALOGso they stay visible if the API drops them.matchRemoteForInstalledmatchesscan().idto registry slug or the same GitHub repository (and the fallback catalog).resolveUserDataRootincludes packagedproductNameDripnexon Linux/Windows/macOS, prefers a root that already hasdripnex.db/plugins/, and defaults toDripnexsodripnex-plugin installlands in the folder the packaged app scans.Checklist
storage-coredata-paths,plugin-cliinstallSpec, desktopgithubInstall+communityCatalog)pnpm test/pnpm build(not required for this path-only change)developbranch (notmain)Test plan
dripnex-vim-modeanddripnex/plugin-vimboth landdripnex-vim-mode-1.2.0.tar.gzin packaged userDataplugins/Dripnex(Linux~/.config/Dripnex, Windows%APPDATA%/Dripnex, macOS~/Library/Application Support/Dripnex)githubInstall,installSpec,communityCatalog,data-pathsdripnex/ios/ Psynth / Linear PSY