Return meaningful API errors for connectivity failures.
Show clean state in UI (e.g., unreachable/offline) instead of raw errors.
Acceptance Criteria
No generic 500 for target connection failures.
User-facing message is clear and actionable.
## Goal
Avoid 500 errors for expected runtime issues (target down, network refused).
## Scope
- Return meaningful API errors for connectivity failures.
- Show clean state in UI (e.g., unreachable/offline) instead of raw errors.
## Acceptance Criteria
- No generic 500 for target connection failures.
- User-facing message is clear and actionable.
nessi
added this to the v1.0 - Stability, Reliability & Security (P0) milestone 2026-02-13 13:13:07 +00:00
nessi
added the P0 label 2026-02-13 13:13:07 +00:00
live connectivity-dependent sections degrade gracefully when target is offline
Acceptance Criteria
✅ No generic 500-style user-facing failure for expected target connection outages.
✅ User-facing message is clear and actionable.
✅ Runtime connectivity problems are represented as a clean UI state (offline/unreachable), not raw exception text.
Notes
This is a UX/error-handling improvement for expected runtime conditions; no DB migration required.
Implemented for **NX-103**.
## Goal Achieved
Expected runtime connectivity issues (target down / refused network) no longer surface as noisy generic UI failures.
## Scope Delivered
- Backend already returns structured connectivity errors for runtime target failures:
- `503` with `code: target_unreachable`
- includes actionable `details` (`target_id`, `host`, `port`, `error`)
- Frontend Target Detail handling was updated to treat connectivity failures as a clean runtime state:
- Added explicit unreachable/offline detection (`target_unreachable` / `503`)
- Replaced raw error rendering with a dedicated **Target Offline** card
- Shows clear action guidance and technical context (`host`, `port`, optional `request_id`)
- Data loading flow now remains stable:
- metrics/meta continue loading where possible
- live connectivity-dependent sections degrade gracefully when target is offline
## Acceptance Criteria
- ✅ No generic 500-style user-facing failure for expected target connection outages.
- ✅ User-facing message is clear and actionable.
- ✅ Runtime connectivity problems are represented as a clean UI state (offline/unreachable), not raw exception text.
## Notes
- This is a UX/error-handling improvement for expected runtime conditions; no DB migration required.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Avoid 500 errors for expected runtime issues (target down, network refused).
Scope
Acceptance Criteria
Implemented for NX-103.
Goal Achieved
Expected runtime connectivity issues (target down / refused network) no longer surface as noisy generic UI failures.
Scope Delivered
503withcode: target_unreachabledetails(target_id,host,port,error)target_unreachable/503)host,port, optionalrequest_id)Acceptance Criteria
Notes