feat(tui): make settings MCP recovery first-class and clickable - #5655
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Claude finished @Hmbown's task in 3m 51s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
This is a focused, well-scoped slice that does what the PR description says: it kills the last 1. Correctness — mismatched action label/command in the
|
106f39c to
6456117
Compare
|
Claude finished @Hmbown's task in 2m 7s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
No new commits landed since the earlier automated review on this PR (still 1. Correctness — mismatched action label/command in the
|
|
Claude finished @Hmbown's task in 54s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
The only commit added since the last automated review is 1. Correctness — mismatched action label/command in the
|
fbc2e2c to
40f1eb5
Compare
|
Rebased onto current |
|
Claude finished @Hmbown's task in 2m 35s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
No new commits since the last automated pass (top commit is still 1. Correctness — the crate does not compile (blocking, unresolved)
let hint = unauthorized_session_hint(self.auth.oauth.is_some());
return Err(StreamableSendError::Other(anyhow::anyhow!()
"MCP server {} rejected the request with {status}; the session is no longer accepted. {hint}",
mask_url_secrets(&self.url),
)));
The diff for this hunk (introduced in - return Err(StreamableSendError::Other(anyhow::anyhow!(
+ return Err(StreamableSendError::Other(anyhow::anyhow!()Fix is to drop the stray return Err(StreamableSendError::Other(anyhow::anyhow!(
"MCP server {} rejected the request with {status}; the session is no longer accepted. {hint}",
mask_url_secrets(&self.url),
)));Since the crate fails to parse, the 2. Correctness — mismatched action label/command in the
|
Settings Advanced now exposes Connect/Reconnect/Diagnose and plugin rows instead of a path-only MCP section, and the category tabs are mouse-clickable. The extensions MCP tab, plugin Problems group, and /mcp manager name recovery commands that exist (/mcp login, /mcp reload, /mcp validate, /plugin validate). Stale OAuth copy no longer points at the non-existent /mcp auth. OpenRouter Hunyuan aliases (hy3, hunyuan) resolve to tencent/hy3-preview; hy4 is not added. Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Record the isolated worktree SHA, journeys, tests actually run, PR #5643 overlap, and what remains unverified. Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Connect/Reconnect/Re-auth/Diagnose add four ExtensionsAction keys. The complete-set census is 86, not 82. Signed-off-by: CodeWhale Bot <bot@codewhale.net>
|
Claude finished @Hmbown's task in 1m 40s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
One new commit landed since the last automated pass: 1. Compile error — fixed ✅
let hint = unauthorized_session_hint(self.auth.oauth.is_some());
return Err(StreamableSendError::Other(anyhow::anyhow!(
"MCP server {} rejected the request with {status}; the session is no longer accepted. {hint}",
mask_url_secrets(&self.url),
)));I couldn't run 2. Correctness — mismatched action label/command in the
|
|
Follow-up |
bc81d3e to
d5b8e97
Compare
|
Claude finished @Hmbown's task in 3m 1s —— View job Review: feat(tui): make settings MCP recovery first-class and clickable
Note on scope: at this HEAD, 1. Correctness — mismatched action label/command in the
|
Update the stale Z.ai fast-tier expectations to the newly registered GLM-5.3-Flash route, including its high-effort capability receipt. Remove three Clippy failures in the catalog and live-model paths, add the durable Signed-off-by: CodeWhale Bot <bot@codewhale.net> #5643/#5655 changelog receipt, and regenerate the packaged TUI changelog.
GROK_TUI_SETTINGS_HANDOFF.md slipped in with #5655 (71253d5): an agent-session handoff naming local worktree paths and lane strategy, referenced nowhere. Preserved in the private ops repo as HANDOFF-GROK-TUI-SETTINGS-20260829.md; removed here. .playwright-mcp/ is untracked local output that was one careless 'git add .' from publication. Signed-off-by: CodeWhale Bot <bot@codewhale.net> Co-authored-by: CodeWhale Bot <bot@codewhale.net>
Why
Settings and MCP recovery were a path/command wall. Plugin problems (invalid manifests, duplicates, stale OAuth) were not diagnosable from the session product surface. Recovery copy on main still names
/mcp auth, which does not exist.This is not the session-boot hang fix. First-turn invisible MCP/plugin connecting remains a separate lane. This PR is the Settings / Extensions /
/mcprecovery surface.What
/mcp,/mcp reload,/mcp validate,/plugin/mcp login, never/mcp auth)/mcppager names a per-server next actionhy3/hunyuan); no invented hy4Tests
Focused
codewhale-tui --libsettings/MCP/plugin tests +cargo fmt --check+ coauthor trailer check.No-Issue: settings/MCP recovery surface; no GitHub issue to close.
Do not merge while required GitHub checks are red or still running.