Skip to content

chore(release): promote develop for Settings plugin install - #569

Merged
tomymaritano merged 8 commits into
mainfrom
cursor/promote-develop-016x-a29b
Aug 22, 2026
Merged

chore(release): promote develop for Settings plugin install#569
tomymaritano merged 8 commits into
mainfrom
cursor/promote-develop-016x-a29b

Conversation

@tomymaritano

Copy link
Copy Markdown
Collaborator

Promotion PR so semantic-release can cut the next signed desktop build (mac / win / linux). No store.

Includes #567 (Settings install for official vim / math / mermaid, shared Dripnex userData) plus the rest of develop since v0.16.0.

Tomás approved the official signed release so QA can dogfood Settings → Plugins.

Do not squash

Merge commit only. Squash collapses every feat / fix into one chore and semantic-release will not bump. See docs/RELEASE.md.

Why not #568

#568 (developmain) is blocked: GitHub 405 merge conflicts. main has release-pipeline-only commits after the last promotion that never went back to develop (#536, #537, #539, #540).

This branch starts at develop (68ffe0f) and merges origin/main, resolving those conflicts.

Conflict resolution

File Kept
.github/workflows/release.yml main#539 tightened dry-run grep; #540 record-tag (no package.json bump verify)
apps/desktop/package.json mainpublish.repo is app (#537). Version left at 0.15.2 (no hand bump)
apps/desktop/RELEASES.md main — updater repo dripnex/app
docs/RELEASE.md main — tag-without-bump-commit docs (#540)

Auto-merged from main (still required, not already on develop): release.config.js (no git bump-commit), build.yml (stamp version from tag before packaging), root package.json / README / CLAUDE / CONTRIBUTING repo URL (dripnex/app).

Product / plugin / desktop / docs from develop (#567 and later) are unchanged. AuthGate unchanged. iOS not touched.

Replaces #568.

Open in Web Open in Cursor 

tomymaritano and others added 8 commits August 20, 2026 15:21
Default branch must have the new **Build & Publish** so `workflow_run`
can start it.

Merge this **before** the same change on `main`. Then merge
https://github.com/dripnex/readide/pulls?q=is%3Aopen+release-automation
onto main — that push cuts 0.16.0.

See `docs/RELEASE.md`.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Releases and desktop builds can now run automatically after approved
changes, with improved version handling and publishing.
- Release notes are now prepared consistently for website and GitHub
Release displays.
- **Bug Fixes**
- Documented fixes for window and database lifecycle crashes in version
0.15.3.
- **Documentation**
- Added clearer guidance for the release process, desktop updates,
packaged-app verification, signing, and troubleshooting.
  - Updated release history links and formatting for consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Summary

Playwright e2e now types into the CodeMirror 6 surface instead of
treating `.cm-content` as out of scope. The e2e README matches CI: the
job is required (no `continue-on-error`).

## Type of Change

- [x] Bug fix (test coverage / docs accuracy)
- [ ] New feature
- [ ] Breaking change
- [x] Documentation update

## Related Issues

#311 (packaged `tags is not iterable` — already closed by #466; this PR
does not re-open it)

## What

- `editor.spec.ts`: create first note → type a unique marker into
`.cm-content` → assert it appears. Second case: replace doc with `-
first item`, press Enter, assert continue-markup adds a sibling `- `.
- `openFirstNote()` helper shared with smoke / tables.
- README: typing is in scope for those tests; CI e2e is required;
`tables.spec.ts` still skipped on CI; `pnpm e2e` still runs `out/`, not
a packaged asar.

## Packaged crash (#311)

Not reproduced in this Linux VM (no macOS `.app`). Current tree already
has the #466 work: `manualChunks` for `@codemirror/*` + `@lezer/*`,
`resolve.dedupe`, `@lezer/common` pin/alias, smoke that loads the lazy
editor. Vite 8 deprecates function-form `manualChunks` in favor of
Rolldown `codeSplitting.groups` — I will inspect the built
`out/renderer` chunks in this PR and only change bundling if the split
is still wrong. I will not guess an asar rewrite without a repro.

## Checklist

- [ ] Tests pass locally (`pnpm test` / desktop e2e)
- [ ] Build succeeds (`pnpm --filter @dripnex/desktop build`)
- [x] PR targets `develop` branch (not `main`)

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-a4c7c79b-af1e-4afa-930f-7dd0ed529d6f?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-a4c7c79b-af1e-4afa-930f-7dd0ed529d6f&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>&nbsp;</div>

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Summary

Dependabot PRs fail the required `e2e` check in ~20s during `pnpm
install`, not during Playwright. Automerge is already enabled; it cannot
land while e2e is red.

**Exact failure** (PR #482 job
[96541625973](https://github.com/dripnex/app/actions/runs/32404870524/job/96541625973),
also #464 / #456 / #462 and `commitlint` on #464):

```
ERROR  Command failed with exit code 128: git clone git@github.com:electron/node-gyp.git ...
git@github.com: Permission denied (publickey).
```

This is not missing repo secrets. Dependabot-regenerated lockfiles
resolve `@electron/node-gyp` as a git dep whose `resolution.repo` is
SSH:

```
# PR #456 (shell-quote) lockfile
'@electron/node-gyp@git+https://git@github.com:electron/node-gyp.git#06b29aa...'
resolution: {commit: 06b29aa..., repo: git@github.com:electron/node-gyp.git, type: git}

# develop lockfile (e2e green after #541)
'@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aa...'
resolution: {tarball: https://codeload.github.com/electron/node-gyp/tar.gz/06b29aa...}
```

pnpm clones `resolution.repo` over SSH. GitHub-hosted runners have no
deploy key.

The `setup` job already rewrites SSH to HTTPS and therefore succeeds on
the same PRs. `e2e` and `commitlint` did a fresh `pnpm install` without
that rewrite.

`develop` itself is green after #541 — its lockfile uses the HTTPS
tarball, so e2e never hits the SSH clone.

## Type of Change

- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update

## Fix

Add the same `git config --global 'url.https://github.com/.insteadOf'
'git@github.com:'` step that `setup` / `release` / `build` / `docs`
already use:

- `.github/workflows/ci.yml` `e2e` job — unblocks the required e2e check
- `.github/workflows/pr-title.yml` — same SSH death on Dependabot
lockfiles

Existing Dependabot PRs (#482, #464, #462, #460, #459, #456, #451, #431,
#430, #248) should go green after rebase onto this `develop` change (the
merge commit picks up the workflow).

## Related Issues

Closes #544

## Checklist

- [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md)
- [ ] Tests pass locally (`pnpm test`) — workflow-only change; no
product code
- [ ] Build succeeds (`pnpm build`) — not applicable
- [x] PR targets `develop` branch (not `main`)

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-65d9f024-2af5-4bbe-8318-35ae4db127d2?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-65d9f024-2af5-4bbe-8318-35ae4db127d2&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>&nbsp;</div>

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
## Summary

Writes the 22 Aug product decisions into `docs/` (not chat). Mobile is
**started** (Tomás said go). Repo
[`dripnex/ios`](https://github.com/dripnex/ios) exists. No iOS code in
this repo.

- ADRs 002–005: AuthGate stays, SQLite not CouchDB, MCP over Local HTTP,
mobile is `dripnex/ios`
- `docs/mobile/PLAN.md`: P1 skeleton in dripnex/ios. Two-profile desktop
sync is a P3 risk, not a P1 blocker.
- `docs/mobile/CONTRACT.md`: iOS copies `NoteSnapshot` + `NoteStatus` +
`sync-core` wire. Do not invent fields.
- `docs/ai/README.md` + `updates.md` log
- Prettier table padding (same lint that failed on #553)

Points at #551. Closes nothing. Prefer this over #556 (duplicate,
closed).

## Test plan

- [ ] CI lint green (do not merge if red)
- [ ] Docs render on GitHub (mermaid in PLAN.md)
- [ ] No app/code changes

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
Research-only write-up for official first-party **desktop** plugins,
plus a small verified slug fix for
[#562](#562). No marketplace, no
new install system, no iOS.

Parent context: #547 (vim/math/mermaid install that actually works),
#542, **#562**.

## Summary

Adds `docs/plugins/` and a pointer from `docs/PLUGIN_SYSTEM.md`.

The write-up covers:

1. How plugins install and load today (`plugin-api`, scanner, CLI vs
Settings, update matching).
2. What #547 implies, including the packaged slug bug **#562**.
3. GFM/editor gaps vs Inkdrop-style *editor* packs — hunches checked
against the tree.
4. Ranked next official packs. Out-of-scope list is explicit.

## #562 — slug vs repo vs manifest id

Verified in `dripnex/plugin-vim`:

| Role | Value |
| --- | --- |
| Manifest / `scan().id` | `dripnex-vim-mode` |
| GitHub repo (working install) | `dripnex/plugin-vim` |
| Live registry slug | missing → `GET /plugins/dripnex-vim-mode` 404 |

BrowseTab used to **replace** the fallback catalog and call
`installFromSpec('dripnex-vim-mode')`. That is why Vim vanished from
Install/Updates. Workaround on packaged 0.16.0: Other package →
`dripnex/plugin-vim`.

**Small fix in this PR (not a marketplace):**

- Merge `COMMUNITY_CATALOG` into the live registry list so Vim stays
visible.
- If a live row is `dripnex-vim-mode` **without** `repositoryUrl`, merge
fills `dripnex/plugin-vim` and `installSpecFor` uses that repo — never
the slug.
- `FIRST_PARTY_PACKAGES` adds slug `dripnex-vim-mode` with
`repositoryUrl` `https://github.com/dripnex/plugin-vim` pointing at the
real [v1.2.0
tarball](https://github.com/dripnex/plugin-vim/releases/tag/v1.2.0).

## Ranked next official packs (after #547)

1. **Emacs keymap** (`dripnex/plugin-emacs`) — only missing editor
keymap; same shape as vim. No product-shape decision.
2. **Footnote insert + jump** — GFM footnotes already render via
`remark-gfm`; pack would add insert/jump, not a second renderer.
3. **Source-mode task toggle** — preview click + insert + strike already
ship. Ask Tomás only on *where it lives* (core chrome vs pack).
4. **CSV/TSV fence preview** (optional) — `registerCodeBlockRenderer`;
lower value because GFM tables already exist.

**Hunches discarded:** tables (already built-in `dripnex-tables`),
footnotes-as-renderer (preview done), task-list as greenfield (mostly
built-in), mermaid/math renderers as new satellites (built-in; existing
satellites only insert a fence).

## Out of scope

Marketplace, clipper, graph, AI-notetaker, wikilinks-as-pack, iOS
plugins, extracting built-in mermaid/math/tables (#339#342 icebox). CLI
vs packaged userData remains #547 remainder — not this PR.

## Test plan

Docs review plus the small slug-fix unit tests.

- [ ] Read `docs/plugins/README.md` then
`docs/plugins/official-first-party.md` — #562 table names slug vs repo
vs manifest id
- [ ] Paths match the tree (`BrowseTab.tsx`, `communityCatalog.ts`,
`FIRST_PARTY_PACKAGES`)
- [ ] Install click for Vim would send `dripnex/plugin-vim`, not
`dripnex-vim-mode`
- [ ] Live `dripnex-vim-mode` row with no `repositoryUrl` still installs
via `dripnex/plugin-vim`
- [ ] `pnpm --filter @dripnex/api test -- tests/plugins.test.ts`
- [ ] `pnpm --filter @dripnex/desktop exec vitest run
src/renderer/pages/settings/sections/plugins/__tests__/communityCatalog.test.ts`
- [ ] No marketplace UI, no new plugin packs, no `dripnex/ios` changes

## Type of Change

- [x] Documentation update
- [x] Bug fix (catalog / registry slug only)

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-80535235-28c6-430b-b695-a3bd8a842666?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-80535235-28c6-430b-b695-a3bd8a842666&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>&nbsp;</div>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Summary

GitHub Actions rejects `secrets` in `if:` expressions. That made
`.github/workflows/deploy-api.yml` fail at parse time on every run (see
[run
32578223943](https://github.com/dripnex/app/actions/runs/32578223943)):

```
Invalid workflow file: .github/workflows/deploy-api.yml#L1 (Line: 83, Col: 13): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.TURSO_DATABASE_URL != ''
```

The annotation still matched line 83 on current `develop`. This PR
removes that `if:` and skips migrate inside the shell when
`TURSO_DATABASE_URL` is unset. Env var names, wrangler, routes, and app
code are unchanged.

## Type of Change

- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update

## Related Issues

Fixes workflow parse failure on Deploy API (`workflow_dispatch` and
push-to-main).

## Checklist

- [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md)
- [x] Tests pass locally (`pnpm test`) — workflow-only change; no
app/test edits
- [x] Build succeeds (`pnpm build`) — not applicable (YAML only)
- [x] PR targets `develop` branch (not `main`)

## Screenshots

N/A

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-5f3e504c-13fa-48bb-b20e-c71cdea1c49c?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-5f3e504c-13fa-48bb-b20e-c71cdea1c49c&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>&nbsp;</div>

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
)

<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## 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 same `Dripnex`
userData folder as the packaged app.

No marketplace. Official first-party packs only. AuthGate untouched.

## Type of Change

- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [x] Documentation update

## Related Issues

Closes #547
Closes #562

## What changed

1. **Install spec** — `dripnex-vim-mode` and `dripnex/plugin-vim` both
resolve to `dripnex/plugin-vim` (same for mermaid/math). `GET
/plugins/:slug` 404 no longer blocks Install. Decision:
[`docs/plugins/install-path.md`](docs/plugins/install-path.md).
2. **Browse** — already merged fallback catalog (#563). This PR also
lists mermaid/math in `COMMUNITY_CATALOG` so they stay visible if the
API drops them.
3. **Updates** — `matchRemoteForInstalled` matches `scan().id` to
registry slug **or** the same GitHub repository (and the fallback
catalog).
4. **userData (#562 addendum)** — `resolveUserDataRoot` includes
packaged `productName` `Dripnex` on Linux/Windows/macOS, prefers a root
that already has `dripnex.db` / `plugins/`, and defaults to `Dripnex` so
`dripnex-plugin install` lands in the folder the packaged app scans.

## Checklist

- [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md)
- [x] Targeted unit tests pass (`storage-core` data-paths, `plugin-cli`
installSpec, desktop `githubInstall` + `communityCatalog`)
- [x] Typecheck: storage-core, plugin-cli, desktop main + renderer
- [ ] Full `pnpm test` / `pnpm build` (not required for this path-only
change)
- [x] PR targets `develop` branch (not `main`)

## Test plan

- [ ] Settings → Plugins → Browse still shows Vim when the registry
lists it **and** when it is omitted (fallback merge)
- [ ] Install `dripnex-vim-mode` and `dripnex/plugin-vim` both land
`dripnex-vim-mode-1.2.0.tar.gz` in packaged userData `plugins/`
- [ ] Updates lists vim when a newer registry/repo version exists
- [ ] CLI and packaged app resolve the same userData root for
productName `Dripnex` (Linux `~/.config/Dripnex`, Windows
`%APPDATA%/Dripnex`, macOS `~/Library/Application Support/Dripnex`)
- [x] Unit tests: `githubInstall`, `installSpec`, `communityCatalog`,
`data-paths`
- [ ] No store UI, no clipper/graph/AI-notetaker, no `dripnex/ios` /
Psynth / Linear PSY

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-587e59ae-ed45-498d-aa39-a0238536b441?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-587e59ae-ed45-498d-aa39-a0238536b441&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>&nbsp;</div>

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Resolve conflicts so develop (#567 Settings plugin install) can land on
main with the existing semantic-release pipeline. Keep main's tag-without
bump-commit behavior and dripnex/app repo name.

Co-authored-by:  Tomás Maritano <tomymaritano@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@tomymaritano, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 34 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 @coderabbitai review or push new commits to the PR.

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 configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 98a60772-6e50-46fd-8104-339cbb3ad8c4

📥 Commits

Reviewing files that changed from the base of the PR and between 59c8850 and 51298e0.

📒 Files selected for processing (34)
  • .github/workflows/ci.yml
  • .github/workflows/deploy-api.yml
  • .github/workflows/pr-title.yml
  • apps/desktop/e2e/README.md
  • apps/desktop/e2e/editor.spec.ts
  • apps/desktop/e2e/fixtures.ts
  • apps/desktop/e2e/smoke.spec.ts
  • apps/desktop/e2e/tables.spec.ts
  • apps/desktop/src/main/plugins/__tests__/githubInstall.test.ts
  • apps/desktop/src/main/plugins/githubInstall.ts
  • apps/desktop/src/renderer/pages/settings/sections/plugins/BrowseTab.tsx
  • apps/desktop/src/renderer/pages/settings/sections/plugins/UpdatesTab.tsx
  • apps/desktop/src/renderer/pages/settings/sections/plugins/__tests__/communityCatalog.test.ts
  • apps/desktop/src/renderer/pages/settings/sections/plugins/communityCatalog.ts
  • docs/PLUGIN_SYSTEM.md
  • docs/adr/002-authgate-stays.md
  • docs/adr/003-sqlite-not-couchdb.md
  • docs/adr/004-mcp-over-local-http.md
  • docs/adr/005-mobile-own-repo.md
  • docs/ai/README.md
  • docs/ai/updates.md
  • docs/mobile/CONTRACT.md
  • docs/mobile/PLAN.md
  • docs/mobile/README.md
  • docs/plugins/README.md
  • docs/plugins/install-path.md
  • docs/plugins/official-first-party.md
  • packages/api/src/routes/plugins.ts
  • packages/api/tests/plugins.test.ts
  • packages/plugin-cli/src/installSpec.ts
  • packages/plugin-cli/tests/installSpec.test.ts
  • packages/storage-core/src/data/DataPaths.ts
  • packages/storage-core/src/data/index.ts
  • packages/storage-core/tests/data-paths.test.ts

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

Comment @coderabbitai help to get the list of available commands.

@tomymaritano
tomymaritano merged commit 3f5481f into main Aug 22, 2026
15 checks passed
@tomymaritano
tomymaritano deleted the cursor/promote-develop-016x-a29b branch August 22, 2026 18:21
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.16.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

tomymaritano added a commit that referenced this pull request Aug 22, 2026
…tach (#570)

<!-- CURSOR_AGENT_PR_BODY_BEGIN -->
## Summary

Build & Publish **#27** ([run
32590544551](https://github.com/dripnex/app/actions/runs/32590544551))
built signed mac/win/linux installers, then the run went red.
[v0.16.1](https://github.com/dripnex/app/releases/tag/v0.16.1) notes
exist; assets were empty.

**Job that made #27 red:** `sync-develop` / Create sync PR
```
pull request create failed: GraphQL: GitHub Actions is not permitted to create or approve pull requests (createPullRequest)
```
Tomás: Settings → Actions → General → Workflow permissions → enable
**Allow GitHub Actions to create and approve pull requests**. That is
not why binaries are missing.

**Why assets were empty (all three `build` jobs + `publish`
succeeded):** `workflow_run` uses **develop**'s YAML (default branch),
which lacked the stamp step already on `main`. Tree version is still
`0.15.2` (tag-without-bump). electron-builder packaged
`Dripnex-0.15.2.*` and skipped upload onto the already-published
`v0.15.2`:
```
GitHub release not created  reason=existing type not compatible with publishing type tag=v0.15.2 version=0.15.2 existingType=release publishingType=draft
```
Signing/notary is fine (`notarization successful`; `CSC_*` / `APPLE_*`
present). Not a flake.

This PR (develop — the file `workflow_run` actually runs):

1. Stamp `package.json` from the tag before packaging (same step as
`main` / #540).
2. Re-draft the target GitHub Release so `--publish always` can attach
assets on retry.

No product code. AuthGate untouched. No store. No iOS.

### Retry (Tomás — cloud agent token cannot `workflow_dispatch`, HTTP
403)

v0.16.1 is already converted back to **draft** so electron-builder can
upload. Either:

```bash
# fastest: main already has the stamp step
gh workflow run "Build & Publish" --ref main -f tag=v0.16.1
```

```bash
# or this branch (stamp + auto re-draft)
gh workflow run "Build & Publish" --ref cursor/fix-v0161-build-assets-f239 -f tag=v0.16.1
```

Actions UI: Run workflow → branch `main` or
`cursor/fix-v0161-build-assets-f239` → tag `v0.16.1`.

`sync-develop` will fail again on the retry until the Actions PR setting
above is enabled. Installers still attach before that job.

## Type of Change

- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update

## Related Issues

Unblocks empty v0.16.1 assets after promotion #569 / Build #27.

## Checklist

- [x] I've read CONTRIBUTING.md
- [x] Workflow-only change (no product tests)
- [x] PR targets `develop` branch (not `main`)

<!-- CURSOR_AGENT_PR_BODY_END -->

<div><a
href="https://cursor.com/agents/bc-3629b701-130d-4cce-99f3-8e22cf2ff239?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>&nbsp;<a
href="https://cursor.com/background-agent?bcId=bc-3629b701-130d-4cce-99f3-8e22cf2ff239&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>&nbsp;</div>

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants