chore(release): promote 0.20.0 - #606
Merged
Merged
Conversation
A mid-scan 403/429 used to store the shorter pack list for ~12 minutes, which dropped theme-noir and theme-sakura from GET /plugins. Keep the last complete discovery (or return null for the seed catalog) and seed dune, noir, and sakura so a GitHub-down or incomplete scan still lists them. Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Linux AppImage 0.19.0 QA could not use Dripnex without signing in. `App.tsx` treated a missing session as a hard full-screen magic-link **AuthGate**. “Continue locally” only appeared after a failed magic-link request (and required an email). `Ctrl+,` did nothing because Open Settings is skipped while an email field is focused. File on Linux is Electron’s default Quit-only menu. That contradicts offline-first: no account to open a file; sync is optional. **Cause:** not a license check. `NotesApp` returned `<AuthGate />` whenever `!isAuthenticated` (E2E was the only skip). ADR 002 / #545 had made that intentional; this PR supersedes that. **Fix:** - Cold start without credentials → Welcome (first run) or the local workspace. Magic link stays on Enable Sync / Settings → Account. - Linux/Windows **File → Settings…** (`Ctrl+,`) opens Settings from the main process, so Plugins → Install (Browse registry) is reachable without a session. - `Ctrl+,` is allowed even when a form field is focused. - Tests lock the shell policy and File-menu layout. Browse / plugin registry behavior is unchanged. No public marketplace. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [x] Documentation update ## Related Issues Supersedes the “AuthGate stays” reading of #545 for desktop launch. Auth remains available for optional sync. ## Checklist - [x] I've read [CONTRIBUTING.md](../CONTRIBUTING.md) - [x] Tests pass locally (`pnpm test` — 19/19 tasks, desktop 334 tests) - [ ] Build succeeds (`pnpm build`) — not run; typecheck passed on pre-push - [x] PR targets `develop` branch (not `main`) ## QA test plan (Linux AppImage) Extract the AppImage and launch with `--no-sandbox` on a **fresh user data dir** (no tokens, no `local-user.json`): 1. **Cold start, no account.** Expect Welcome (“Your Markdown. Your Machine.”) or the workspace — **not** a full-screen “Email me a link” gate with no skip. 2. Dismiss Welcome (“I'll explore on my own” or create a note). Expect sidebar + note list. Footer may show **Enable Sync** (optional). 3. **File → Settings…** or `Ctrl+,`. Expect the Settings window. 4. **Settings → Plugins → Install** (Browse registry). Expect the existing first-party packs / fallback catalog. Do not require sign-in. 5. Create a local note and confirm it persists after quit/relaunch without signing in. 6. Optional: Enable Sync / Account → Sign in still offers magic-link for sync. Verified in this environment on a cold `DRIPNEX_DATA_DIR` (no `DRIPNEX_E2E`, `--no-sandbox`): Welcome → workspace → File → Settings → Plugins → Install, with Enable Sync remaining opt-in. [Welcome on unsigned first launch](https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Fwelcome-no-authgate.webp) [Workspace with Enable Sync in the footer](https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Fworkspace-unsigned-enable-sync.webp) [File menu includes Settings](https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Ffile-menu-settings.webp) [Settings Plugins Install registry without sign-in](https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Fsettings-plugins-browse.webp) [unsigned-first-launch-workspace-settings-plugins.mp4](https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Funsigned-first-launch-workspace-settings-plugins.mp4) <sub>To show artifacts inline, <a href="https://cursor.com/dashboard/cloud-agents#my-pull-requests">enable</a> in settings.</sub> <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-c091871b-6e8a-4541-b195-9832870ae0ae?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-c091871b-6e8a-4541-b195-9832870ae0ae&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>
…cache-a6a9 fix(api): do not cache a partial GitHub pack scan as success
<!-- CURSOR_AGENT_PR_BODY_BEGIN --> ## Summary Named palettes no longer ship inside the desktop. `OFFICIAL_THEMES` is empty; Settings → Themes shows the `tokens.css` default plus installed plugin themes only. Retired bundled ids (`dripnex-parchment`, `dripnex-wave`, …) fall back to that default so a saved palette cannot leave a blank UI. Satellite repos (`dripnex/theme-*`) are unchanged. No marketplace. AuthGate untouched. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [x] Documentation update ## Related Issues Product rule: themes ship as satellite git repos (`dripnex/theme-<slug>`), pack/tag/Release tarball, Inkdrop-style. Do not add palettes to the desktop core. ## 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 - Emptied `OFFICIAL_THEMES` so Parchment/Wave/Night/Harbor Dusk/Solarized/Gruvbox/Glass/Midnight/Ember/Ion/Matcha/Phosphor/Fog are not registered without installing. - Settings still lists **Default** from `tokens.css`. Installed `theme.json` packs are scanned into the picker (including the Settings window, which has no PluginHost). - If `appearance.activeThemeId` is one of the retired `dripnex-*` ids, restore clears it instead of waiting for a palette that will never load. - Frosted settings-card chrome keys off `data-frosted` instead of `dripnex-glass`. ## Tests - `officialThemes.test.ts`: 10 passed (empty core list, retired-id fallback, installed pack registration). - `pnpm test`: 19/19 tasks successful (`@dripnex/desktop` 342 tests). - Typecheck passed on push. <!-- CURSOR_AGENT_PR_BODY_END --> <div><a href="https://cursor.com/agents/bc-b2c9f4c1-799b-4847-aacd-7afa7783f22a?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-b2c9f4c1-799b-4847-aacd-7afa7783f22a&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>
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
Co-authored-by: Tomás Maritano <tomymaritano@gmail.com>
chore(release): merge main into develop
|
Warning Review limit reachedNext included review available in 54 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 (27)
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.19.1 🎉 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.
AuthGate no longer blocks unsigned launch; named palettes are satellite packs only (Default + installed); registry does not cache a partial GitHub scan; no public marketplace.
developis ahead ofv0.19.0withfix:commits only (#602, #603, #604), so semantic-release may cut 0.19.1. What’s New:docs/releases/v0.19.1.md(status: draft until installers exist).Merge with a merge commit. Do not squash. Squashing drops the
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 + deploy-api.yml start from this merge.