Skip to content

[Bug]: Failed review guide clips the retry action and leaves the Guide tab stuck #26033

Closed

Description

@Guria

What happened

A failed PR review-guide generation leaves the Guide tab effectively stuck. A very long CLI error fills the panel, and the user cannot reach the recovery action.

The main problem is recovery after failure, not the provider authentication error that triggered this particular incident.

Diagnosis

The live read_pull_request_guide response confirmed guide: null and run._tag: "Failed". The backend had finished; this was not a generation process still running.

Source inspection found this path:

  1. apps/server/src/textGeneration/CodexTextGeneration.ts:336–345 copies the full CLI stderr into TextGenerationError.detail. Codex stderr includes its startup banner and the entire generation prompt before the actual error.
  2. apps/server/src/pullRequest/PullRequestReviewGuideService.ts:416–421 forwards that detail to the client unchanged.
  3. apps/web/src/components/pullRequest/PullRequestGuideTab.tsx:105–120 renders the unbounded error, then places Try again below it. This empty/error view has no scroll container.
  4. apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx:1684 clips overflow, and the Guide tab is mounted in an absolute inset-0 wrapper around line 1746. Long diagnostics push the retry action outside the visible panel.

The failed result remains in the server's in-memory run map until a new generation replaces it. Revisiting the tab therefore returns the same failure, while its recovery action is out of reach.

These line references are from investigation checkout dc84b0962efa4f4e05ef392c08986a9cd7c994d1. The layout diagnosis is based on source plus the user's screenshot, not an independent browser reproduction.

Steps to reproduce

Observed incident:

  1. Start a PR review-guide generation using Codex.
  2. Let it fail with verbose stderr. In this incident, an external provider credential command repeatedly timed out.
  3. Open the Guide tab after failure.
  4. The error text extends below the panel, with no reachable Try again action.

For a deterministic regression fixture, return guide: null with a current-head Failed run whose detail contains several screens of diagnostic text. Verify the user can still reach and activate retry within a constrained-height PR panel.

Expected behavior

A failed guide should show a concise failure message and a reachable retry action regardless of diagnostic length. Full diagnostics can be disclosed in a bounded, scrollable region. The view must not trap the user in a failed state.

Version

0.1.4-nightly.20261027.3770, from the failing process's runtime path.

Environment

Ubuntu 26.04.1 LTS host. Codex CLI 0.164.0, custom cpa provider, model zai/glm-5.3-flash. The screenshot shows the shared web-based PR Guide UI; the exact browser versus Electron client was not established.

Evidence

The screenshot shows No review guide yet, followed by the CLI banner and generation prompt filling the remaining panel. The retry action is not visible.

Redacted live state:

{
  "guide": null,
  "run": {
    "_tag": "Failed",
    "failedAt": "2026-10-27T16:37:47.661Z",
    "detail": "Codex CLI command failed: OpenAI Codex v0.164.0\n[startup banner and full generation prompt omitted]\nERROR: provider auth command `sh` timed out after 5000 ms"
  }
}

The raw screenshot and logs are omitted because they contain local paths and unrelated project material.

Related issues

Searched existing issues for review-guide retry and overflow failures. No matching report found.

Fix applied or workaround

No code, settings, live database, or guide state changed during triage. No server restart or guide retry performed. The provider timeout should be handled separately; this report concerns the inaccessible recovery path after failure.

Filed by

codex/gpt-6.1-sol through the Codex harness in T3 Code, following local-machine triage requested by @Guria.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions