Skip to content

Surface user-friendly git clone error messages#139

Draft
fedacking wants to merge 2 commits intomainfrom
friendly-git-clone-errors
Draft

Surface user-friendly git clone error messages#139
fedacking wants to merge 2 commits intomainfrom
friendly-git-clone-errors

Conversation

@fedacking
Copy link
Copy Markdown
Contributor

Summary

  • Capture stderr in run_cmd_streaming: Collects stderr lines into a buffer alongside the existing broadcast, and includes them in the error message on failure.
  • Map raw git errors to friendly messages: New map_git_clone_error() function translates opaque stderr (e.g., exit status: 128) into actionable messages like "Repository not found" or "Authentication failed".
  • Wrap both clone call sites (initial task + reopen) to produce structured {friendly}\n---STDERR---\n{raw} error messages.
  • Default failed tasks to Info tab instead of Diff tab, so users see the error immediately.
  • Enhanced error display: Friendly summary with collapsible raw stderr details and an inline "Retry Task" button.
  • 8 unit tests covering every error pattern + fallback.

Test plan

  • Trigger a clone failure (e.g., invalid token, nonexistent repo) and verify the friendly error message appears in the Info tab
  • Verify raw stderr is available in the collapsible details section
  • Verify "Retry Task" button is visible and calls reopen
  • View an older failed task to confirm backward compatibility (error displays as-is, no collapsible section)
  • Run cargo test tasks::tests — all 8 tests pass

🤖 Generated with Claude Code

Capture stderr in run_cmd_streaming and map raw git errors to
actionable messages (repo not found, auth failed, branch missing, etc.).
Failed tasks now default to the Info tab, and the error display shows a
friendly summary with collapsible raw stderr and an inline Retry button.
@fedacking fedacking marked this pull request as draft March 12, 2026 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant