calm-artist-7206
10/06/2026, 12:30 AMfresh-machine-37269
10/06/2026, 12:30 AMfresh-machine-37269
10/06/2026, 12:47 AMgetApiErrorMessage now prefers the server's `message`/`detail`/`error`, handles FastAPI validation arrays, and never echoes the raw transport text. Note: plain-text bodies are now dropped to the fallback ā a small typeof body === "string" branch would keep that copy. Also worth converging the global query-client-config.ts toast on the same helper.
⢠OpenHands#18018 ā stdio MCP error copy. Correct fix; all three callers pass the tested transport, and the OAuth-as-remote handling is a good catch. Notes: the card's line-clamp-2 still truncates long details (touch users can't open the tooltip), MCP$TEST_ERROR_TIMEOUT still says "Check the URL" for stdio, and the reworded key touches all 15 locales.
⢠OpenHands#18019 ā LLM profile menu keyboard. Both root causes verified (empty first commit on the portaled menu; arrow nav over a disabled item). Follow-up worth filing: agent-profile-actions-menu.tsx and meta-profile-actions-menu.tsx are drifted copies with the identical bug and weren't touched.
⢠OpenHands#18021 ā download failure + Recent preset. Both fixes are sound. Notes: the toast still ends in the raw HTTP request failed (502ā¦) text (the new helper from #18030 would clean that up), and the old Recent preset had showOlderConversations: false while the new one is the full default, so persisted users will read "Custom" until they re-click.
⢠OpenHands#18022 ā automation run logs. Diagnosis and the real-client/real-fetch regression test are solid; cloud paths pinned. One assumption to confirm: local resolveHost now always uses the backend host, so the single-host invariant is worth stating explicitly.
software-agent-sdk#5532 ā already approved by the bot at the current head; the exclude: ^.pr/ change is minimal and correctly scoped, so no second review from me.
The only red check anywhere is a stale "Validate PR description" run from an earlier commit; every current head is green.