fix(desktop): prevent extra Dock icons and fix CORS for cloud connect#247
Merged
fix(desktop): prevent extra Dock icons and fix CORS for cloud connect#247
Conversation
- Convert all API routes to createRoute + app.openapi() (model-routes, desktop-local-routes, auth-routes, desktop-auth-routes) - Add shared Zod schemas in packages/shared/src/schemas/provider.ts - Regenerate openapi.json, sdk.gen.ts, types.gen.ts - Replace all raw fetch() in frontend with generated SDK functions (models.tsx, welcome.tsx, home.tsx, auth.tsx, community-skill-detail.tsx, use-community-catalog.ts) - Set NEXU_DESKTOP_MODE=true in generate-openapi.ts so desktop routes enter the OpenAPI spec - Update AGENTS.md with explicit OpenAPI SDK rules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix import ordering (welcome.tsx, desktop-auth-routes.ts) - Fix formatting (model-routes.ts) - Remove unused variable (auth.tsx) - Replace non-null assertion with type assertion (community-skill-detail.tsx) - Add 404/410 response schemas to desktop-authorize route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Display provider name (Nexu Official, Anthropic, OpenAI, Google AI) next to selected model name in trigger button and status bar - Show provider logo icon instead of generic CPU icon - Fix expanded group logic for link/ models (was using raw provider instead of group key "nexu") - Extract getGroupKey and PROVIDER_LABELS to module scope Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Desktop routes are now always registered (so they appear in the OpenAPI spec naturally). A runtime middleware guard on /api/internal/desktop/* returns 404 when not in desktop mode, replacing the conditional registration approach. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove per-model enable/disable toggles from settings page - Add current model selector dropdown at top of providers tab - Auto-select first available model when provider is configured - Simplify sidebar to single list (no enabled/disabled groups) - Homepage: only show "change config" button when no channels connected - Remove model dropdown from homepage (moved to settings) - Remove tab selector from channel manager panel Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The user name, email, and logout button in the sidebar are unnecessary in the Electron desktop client. Wrap the account section with an isDesktopClient guard so it only renders in the web version. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tailwind v4 preflight no longer sets cursor: pointer on buttons and other interactive elements. Add the rule back in the base layer so buttons, links, selects, and summary elements show the pointer cursor. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add LSUIElement=true to mac.extendInfo so child processes (spawned with
ELECTRON_RUN_AS_NODE) don't create extra Dock icons
- Call app.dock?.show() early to restore main process Dock icon
- Remove conflicting cors({origin:"*"}) for desktop endpoints — it
breaks credentials:"include" on cross-origin POST requests
- Add try/catch around cloud-register fetch for better error messages
- Add auth page auto-close countdown and i18n strings
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Deploying nexu-docs with
|
| Latest commit: |
756f882
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://8b09e28f.nexu-docs.pages.dev |
| Branch Preview URL: | https://refactor-simplify-model-sett.nexu-docs.pages.dev |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Siri-Ray
approved these changes
Mar 18, 2026
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.
Summary
LSUIElement=truetomac.extendInfoso child processes (spawned withELECTRON_RUN_AS_NODE) don't create extra Dock icons; restore main process Dock icon via earlyapp.dock?.show()callcors({origin:"*"})override for desktop endpoints — it breakscredentials:"include"on cross-origin POST requests (cloud login)Test plan
🤖 Generated with Claude Code