Skip to content

fix(desktop): cloud disconnect/reconnect + simplify model settings#256

Merged
PerishCode merged 3 commits intomainfrom
fix/cloud-reconnect-and-model-settings
Mar 18, 2026
Merged

fix(desktop): cloud disconnect/reconnect + simplify model settings#256
PerishCode merged 3 commits intomainfrom
fix/cloud-reconnect-and-model-settings

Conversation

@lefarcen
Copy link
Copy Markdown
Collaborator

Summary

  • Cherry-pick PR refactor: simplify model settings and homepage channel UI #239 (refactor/simplify-model-settings): simplify model settings page and homepage channel UI — was merged into refactor/openapi-sdk-migration but never made it to main
  • Fix cloud disconnect: add publishPoolConfigSnapshot() after clearCredentials() so gateway drops the stale link provider immediately
  • Fix cloud reconnect: add publishPoolConfigSnapshot() after saveCredentials() so gateway picks up the restored link provider — fixes Feishu bot becoming permanently unresponsive after disconnect/reconnect cycle
  • Fix model list refresh: invalidateQueries(["models"]) already included in PR refactor: simplify model settings and homepage channel UI #239's reconnect polling

Root cause

cloudDisconnectRoute and pollCloudForAuthorization were the only two mutation paths that did NOT call publishPoolConfigSnapshot(). All other mutation routes (model change, cloud models update, bot CRUD, channel CRUD) already called it. Without this call, the gateway's OpenClaw config was never updated after disconnect/reconnect, causing resolveModelId() to produce unroutable model IDs.

Test plan

🤖 Generated with Claude Code

lefarcen and others added 2 commits March 18, 2026 18:06
* refactor: simplify model settings and homepage channel UI

- 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>

* refactor: hide user account section in desktop client

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>

* fix: restore cursor pointer on interactive elements for Tailwind v4

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>

* style: fix biome formatting in models.tsx and zh-CN.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
After disconnecting from Nexu Official, the gateway config was never
updated — it kept trying to route through the stale link provider.
After reconnecting, credentials were saved but the gateway was never
notified, so models remained unavailable and Feishu bot stayed
unresponsive.

Add publishPoolConfigSnapshot() calls to both cloudDisconnectRoute and
pollCloudForAuthorization, matching the pattern already used by
cloudModelsRoute and defaultModelSetRoute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Mar 18, 2026

Deploying nexu-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 60f7885
Status: ✅  Deploy successful!
Preview URL: https://9584860d.nexu-docs.pages.dev
Branch Preview URL: https://fix-cloud-reconnect-and-mode.nexu-docs.pages.dev

View logs

Cloud model list was only fetched once during initial login and cached
in cloud-credentials.json. If the Link gateway added or removed models
(e.g. claude-sonnet-4-5 → claude-sonnet-4-6), the desktop stayed stuck
on stale model IDs, causing 404 errors on inference.

Add refreshCloudModelsOnStartup() that runs once when the API boots:
compares cached models with fresh data from Link, updates credentials
and pushes a config snapshot if anything changed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lefarcen lefarcen force-pushed the fix/cloud-reconnect-and-model-settings branch from c1ed3a3 to 60f7885 Compare March 18, 2026 13:14
@PerishCode PerishCode merged commit 031752c into main Mar 18, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants