Skip to content

fix(cli): preserve underlying connection error causes - #6313

Closed
r266-tech wants to merge 1 commit into
volcengine:mainfrom
r266-tech:codex/connection-error-cause
Closed

r266-tech wants to merge 1 commit into
volcengine:mainfrom
r266-tech:codex/connection-error-cause

Conversation

@r266-tech

@r266-tech r266-tech commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Description

Connection failures now include reqwest's underlying cause in JSON and ordinary table output, so TLS certificate and malformed-HTTP errors can be diagnosed directly.

Human Involvement

  • A human participated in the implementation or review loop
  • This PR was generated entirely by AI agents without human participation in the loop

Related Issue

Fixes #6288.

Type of Change

  • Bug fix

Changes Made

Append the source chain in the existing network-error branch and display that message in the connection error card. Add a real CLI regression for both output formats. Rustfmt also reflows surrounding error match arms.

Testing

  • New regression fails on the base and passes with the fix.
  • 511 CLI tests passed on macOS: 506 unit tests and 5 integration tests.
  • Local self-signed TLS fixture: both formats expose the certificate error after the fix; the base hides it.
  • Real timeout, invalid-gzip decoding, and unsupported-scheme controls retain their error codes and card titles in both formats.
  • Rustfmt and git diff --check passed.

CLI tests used Rust 1.95, RUST_MIN_STACK=16777216, and a temporary CLI-only workspace to avoid unrelated RAGFS dependency resolution; every selected dependency retained its original lockfile version. The complete workspace manifest/lock are restored and unchanged. With the default test stack, an existing help-parser test overflowed before the suite completed. No live service or model was called.

Checklist

  • I have performed a self-review of my code.
  • I have tested my changes locally.
  • The change stays within the reported connection-diagnostics scope.

Hosted CI

All five CLI platform builds passed. The API/CLI job fails during the API phase: test_content_write_empty_content and test_content_write_creates_new_file return 500 after embedding HTTP 401 (52 passed, 1 skipped in that batch). Its setup selected the minimal/no-secrets configuration. The Ubuntu release-base job at e855796c passed; this is not a blanket main-branch failure. The fork's credential-dependent API fixture failure remains unresolved.

@r266-tech

Copy link
Copy Markdown
Contributor Author

Closing in favor of #6312, which was opened first and covers the same #6288 connection-diagnostics fix. The CLI integration regression on this branch remains available if useful.

@r266-tech r266-tech closed this Oct 20, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in OpenViking project Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Bug]: ov connection errors hide the underlying cause

1 participant