chore(release): promote 0.19.3 - #623
Merged
Merged
Conversation
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Settings → Themes → Install was quitting the Linux AppImage immediately after a successful pack download. The pack landed on disk (`data/plugins/theme-limestone`) and showed as In use after relaunch; the process still exited on the Install click. Install-complete now harvests and activates the palette in Settings first, then broadcasts `plugins:reload`. That reload is a send-only IPC — not `process.exit`, `app.quit`, `win.close`, or `webContents.reload`. PluginHost syncs by plugin id so a newly installed theme pack is activated without unloading every other plugin (the remount that raced palette activation). Incremental sync sorts the full desired set first so a new dependent of an already-active plugin still activates, and a dependent whose base left the scan is unloaded. `OFFICIAL_THEMES` stays empty. Browse / Other package is unchanged. No version bump. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Related Issues Follow-up to #617 (QA on 0.19.2 AppImage: Install Limestone quits the process). ## Checklist - [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md) - [x] Tests pass locally (`pnpm test`) - [ ] Build succeeds (`pnpm build`) - [x] PR targets `develop` branch (not `main`) ## What changed - **Install-complete path:** `finishThemePackInstall` refresh → harvest → activate → `requestReload`. Settings stays on Themes; Limestone can move to In use without a relaunch. - **`plugins:requestReload`:** `reloadPluginWindows()` sends `plugins:reload` to living windows only. - **PluginHost:** incremental load/unload by id; full deactivate only on unmount. `planPluginHostSync` sorts `next` before the diff so already-active dependencies remain visible. ## Tests - Reload does not call `process.exit` / close / destroy; settings + notes windows stay alive. - Install-complete order is harvest + activate, then reload; windows still alive after that path. - Adding a theme pack does not unload already-active plugins. - New extension whose base is already active is activated; extension whose base left the scan is unloaded. - `pnpm test`: 19/19 tasks, including desktop 384 tests and plugin-api 259 tests. <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-36f1100b-5aa1-4640-8154-6a580ed004c5?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-36f1100b-5aa1-4640-8154-6a580ed004c5&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** * Plugins now update incrementally, activating newly added plugins and removing unavailable ones without restarting the app. * Theme pack installation now refreshes installed themes, activates the selected theme when available, and updates plugin windows automatically. * **Bug Fixes** * Improved plugin reload handling to avoid closing, restarting, or disrupting active windows. * Reload requests safely skip unavailable windows and continue notifying remaining active windows. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Slice 1 of making Dripnex feel like a hackable AI note taker — no product rewrite. - Adds **Settings → Hack**, a top-level nav item (same visual language as Themes/Plugins) with **Open init.js**, **Open styles.css**, and **Open keymap**. - One-line help: these files live in the data directory; save to apply (existing watcher). - First-write `init.js` template registers `dripnex.registerAiCommand` named **Make this sendable** (messy notes → a document a person would send, not a model dump). `dripnex.commands.add` remains as a short comment; Insert Date no longer leads. - Existing on-disk `init.js` / `styles.css` / `keybindings.json` are not overwritten. - Plugins → Open init.js / styles.css still uses `plugins:openUserFile`. ## Type of Change - [ ] Bug fix - [x] New feature - [ ] Breaking change - [ ] Documentation update ## Related Issues Slice 1 only. No version bump, no tag. `OFFICIAL_THEMES` stays `[]`. AuthGate untouched. No public marketplace. ## Checklist - [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md) - [x] Tests pass locally (`pnpm test` — 19/19 tasks; desktop 396 tests) - [ ] Build succeeds (`pnpm build`) — typecheck passed on push; production dist not run - [x] PR targets `develop` branch (not `main`) ## Screenshots Settings UI is Electron; verification is the new unit tests (template + nav wiring + open-file IPC). <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-9a484f9a-1b14-4d2a-8f95-816a53f733e6?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-9a484f9a-1b14-4d2a-8f95-816a53f733e6&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> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
chore(release): merge main into develop
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Stops the three verified CI duplications without changing the required-check set or the release path. 1. **CodeQL:** `.github/workflows/codeql.yml` stays the in-repo source (job named `CodeQL` so the develop ruleset context still reports). GitHub **default setup** could **not** be disabled from this token (403 on both APIs and on `actions/workflows/.../disable`). A repo admin still needs the Settings toggle — click-path below. Confirmed still live on this PR: `Code Quality: PR #595` (`Analyze (javascript-typescript)`). 2. **Post-merge suite:** `ci.yml` no longer runs on `push` to `develop`. PRs into `develop`/`main` still run the full suite (`lint`, `test`, `typecheck`, `e2e`, `security`, plus `commitlint` from `pr-title.yml`). `push` to `main` stays; Release does **not** wait on it (`release.yml` is a separate workflow). 3. **Back-merges:** `chore/backmerge-*` and github-actions `chore(release): merge main into develop` skip install/test/e2e/CodeQL analysis. Required job names still succeed so the PR can merge with a **merge commit**, never squash ([docs/RELEASE.md](https://github.com/dripnex/app/blob/develop/docs/RELEASE.md)). Also: `disable-automerge` now treats GitHub's `Can't disable auto-merge for this pull request` as the same no-op as `not enabled`, so draft PRs do not fail that job. **Left draft on purpose.** Non-draft PRs into `develop` squash auto-merge when checks are green; do not mark ready until a human wants that. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [x] Documentation update ## Default CodeQL setup — still needs a Settings toggle API attempts returned **403**: ```bash gh api -X PATCH /repos/dripnex/app/code-scanning/default-setup -f state=not-configured gh api -X PATCH -H "X-GitHub-Api-Version: 2026-03-10" \ /repos/dripnex/app/code-quality/setup -f state=not-configured ``` **Click-path:** 1. Repo **Settings → Advanced Security** (or **Code security**) → CodeQL / Code scanning → Default setup → **Disable**. 2. If **Settings → Code quality** has its own Default setup, disable that too. ## Verification - First commit (`40711ca`): not a back-merge. `ci-gate` logged `Full CI.`; `lint` / `test` / `typecheck` / `e2e` / `security` / `commitlint` / advanced `CodeQL` succeeded. `disable-automerge` failed on the draft with `Can't disable auto-merge for this pull request`. - Follow-up commit (`713b29f`): tolerate that GraphQL wording so the draft stays green. ## Checklist - [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md) - [x] Required CI jobs green on the first commit - [x] PR targets `develop` branch (not `main`) <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-098f8496-4db8-4ae7-9149-c7ab5d5ef44a?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-098f8496-4db8-4ae7-9149-c7ab5d5ef44a&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 * **CI/CD Improvements** * Updated validation workflows to better support release back-merges while preserving required checks. * Limited push-based CI runs to the `main` branch. * Improved handling of auto-merge and security-scan workflow outcomes. * Streamlined qualifying back-merges by reporting successful checks without running unnecessary heavy validation. * **Documentation** * Added guidance on workflow triggers, required checks, release back-merges, and CodeQL configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Human story for the 0.19.3 cut: theme pack install stays open, Settings → Hack, and Make this sendable in the first-write init.js. Status stays draft until the GitHub release is undrafted. Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
docs(release): write the 0.19.3 What's New
|
Warning Review limit reachedNext included review available in 33 minutes. View limit detailsLimit 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. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (26)
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 |
Contributor
|
🎉 This PR is included in version 0.20.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promote 0.19.3 so Settings → Themes → Install no longer quits the app, and Settings → Hack (init.js / styles.css / keymap) ships with Make this sendable in the first-write init.js template.
What’s New:
docs/releases/v0.19.3.md(status: draft until the GitHub release is undrafted). Landed ondevelopin #622 as a merge commit (not squash).developis ahead ofv0.19.2with:fix(desktop): keep windows alive after theme pack install(fix(desktop): keep windows alive after theme pack install #619)feat(desktop): Settings → Hack and Make this sendable init.js(feat(desktop): Settings → Hack and Make this sendable init.js #620)fix(ci): stop duplicate CodeQL and post-merge suite(fix(ci): stop duplicate CodeQL and post-merge suite #595)mainis already an ancestor ofdevelop)#620 is
feat:.release.config.jsmapsfeat→ minor, so semantic-release will tag v0.20.0, not v0.19.3. This PR is titled 0.19.3 as requested for this cut. AuthGate-first (#621) is not ondevelopand is not in this PR.Merge with a merge commit. Do not squash. Squashing drops the
feat/fixhistory and semantic-release will not bump.CI is the gate. Do not bump
package.json. Do not push a tag. Do not Run workflow. Release + Build & Publish start from this merge.HEAD:
af53ae8.