Skip to content

V2 TUI: retry notice renders raw HTML from provider 503 #35640

Description

@opencode-agent

Summary

The V2 TUI retry notice prints an upstream nginx HTML error page verbatim when Little Frank returns HTTP 503. The raw response consumes several lines and exposes transport-level markup instead of a concise provider-unavailable message.

Environment

  • OpenCode version: V2 development build; exact build unavailable from the report
  • OS: macOS (from reporter context)
  • Terminal: tmux; underlying terminal unavailable
  • Shell: Unavailable
  • Install/channel: opencode2 development channel
  • Active plugins: Unavailable
  • Model: Little Frank (anomaly / OpenAI), medium variant

Reproduction

  1. Use Little Frank in the V2 TUI.
  2. Have the provider return an nginx 503 Service Temporarily Unavailable HTML response.
  3. Wait for the session retry UI to render the scheduled retry.

Expected Behavior

Show a bounded, human-readable retry notice, for example: Retry attempt 3 scheduled: provider temporarily unavailable (HTTP 503).

The raw HTML response may remain available in logs or expandable diagnostics, but should not be printed inline by default.

Actual Behavior

The retry notice includes the complete HTML document:

Retry attempt 3 scheduled: Provider request failed with HTTP 503: <html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>
[provider.internal]

Additional Context

Metadata

Metadata

Assignees

Labels

2.0bugSomething isn't workingtui

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions