Retry transient backend disconnects#1421
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Mock-LLM E2E Tests60/60 passed Commit:
Posted by the Mock-LLM E2E workflow · results are deterministic (scripted LLM responses) |
|
🔍 Review in progress… We are performing the review through OpenHands Cloud Automation. You can log in and view the conversation here. |
🛑 Mock-LLM Docker E2E Test Results56/56 passed · Commit:
Posted by the Mock-LLM E2E workflow · results are deterministic (scripted LLM responses) |
|
✅ Review complete. This review was performed through OpenHands Cloud Automation. You can log in and view the conversation here. |
all-hands-bot
left a comment
There was a problem hiding this comment.
🟢 Taste Rating: Good taste
No actionable code issues found. The retry behavior is bounded and kept in small helpers: bootstrap retries skip auth/no-backend/version failures, backend health retries classify credential and compatibility failures as non-retryable, and the UI only shows the reconnecting state while the config query is actively retrying. The PR also adds focused coverage for retry classification, backoff, success-after-retry, and exhaustion.
[RISK ASSESSMENT]
- [Overall PR]
⚠️ Risk Assessment: 🟡 MEDIUM
This is user-visible startup/backend recovery behavior, so regressions could temporarily hide the manage-backends recovery modal or delay failure feedback. The retry caps are small, non-retryable cases are guarded, and CI test/build checks are green, so the risk is contained.
VERDICT:
✅ Worth merging: Core logic is sound, no blocking issues found.
KEY INSIGHT:
The change centralizes retry policy in testable helpers instead of scattering reconnect special cases through the UI.
This review was generated by an AI agent (OpenHands) on behalf of the user through OpenHands Automation. View conversation
✅ Mock-LLM E2E Tests60/60 passed Commit:
Posted by the Mock-LLM E2E workflow · results are deterministic (scripted LLM responses) |
✅ Mock-LLM Docker E2E Test Results60/60 passed Commit:
Posted by the Mock-LLM E2E workflow · results are deterministic (scripted LLM responses) |
Summary
/server_infois retryingFixes #1420
Testing
npm run lintnpm test -- --run src/hooks/query/use-config.test.ts src/hooks/query/use-backends-health.test.tsnpm run check-translation-completenessnpm run typecheck && npm run build🐳 Docker images for this PR
• GHCR package: https://github.com/OpenHands/agent-canvas/pkgs/container/agent-canvas
ghcr.io/openhands/agent-canvasghcr.io/openhands/agent-server:1.28.1-pythonopenhands-automation==1.0.0a10a79dfca864ecffdb722536b280ce0e962ec0cb75Pull (multi-arch manifest)
# Multi-arch manifest — Docker automatically pulls the correct architecture docker pull ghcr.io/openhands/agent-canvas:sha-a79dfcaRun
All tags pushed for this build
About Multi-Architecture Support
sha-a79dfca) is a multi-arch manifest supporting both amd64 and arm64sha-a79dfca-amd64) are also available if needed