Skip to content

fix(server): show GitHub App wrapper failures on the PR panel - #408

Merged
patroza merged 1 commit into
fork/devfrom
t3code/fix-gh-cli-pull-requests
Aug 15, 2026
Merged

fix(server): show GitHub App wrapper failures on the PR panel#408
patroza merged 1 commit into
fork/devfrom
t3code/fix-gh-cli-pull-requests

Conversation

@patroza

@patroza patroza commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

The PR panel mapped every unclassified gh exit to GitHub CLI command failed., so the real guest-wrapper reason never reached the UI.

That is what #6613 (pingdotgg/t3code) showed this time. The live t3vm image already has ops #80 (host-qualified --repo). The product #373 shim fix is still on fork/dev. App-only mint dies with:

t3-github-app-token: app is not installed on pingdotgg/t3code (or repo does not exist)

The App is installed on patroza / macs-holding / effect-app / aaaomega — not pingdotgg.

This change passes through guest wrapper lines (t3-github-app-token: / gh-app-wrapper:) as the command-failed detail, and keeps raw provider stderr off the VCS error message (tokens stay out of logs).

Installing the App on pingdotgg (or using a user/SSH token for those reads) is still required for the panel to actually load that PR.

Test plan

  • vp test run apps/server/src/vcs/VcsProcess.test.ts apps/server/src/sourceControl/GitHubCli.test.ts
  • After deploy: open a PR the App is not installed on and confirm the panel shows app is not installed on … instead of the generic CLI line
  • Confirm a patroza/t3code PR still loads on t3vm

The panel mapped every unclassified `gh` exit to "GitHub CLI command failed.",
so "app is not installed on pingdotgg/t3code" never reached the UI. Pass through
guest wrapper lines (t3-github-app-token / gh-app-wrapper) as the command-failed
detail, and keep raw provider stderr off the VCS error message.
@patroza
patroza marked this pull request as ready for review August 15, 2026 08:46
@patroza
patroza merged commit 6b4df35 into fork/dev Aug 15, 2026
5 of 9 checks passed
patroza added a commit that referenced this pull request Aug 15, 2026
## Summary

The thread PR panel used the project's primary repository identity. On a
fork that prefers **upstream**, so `#410` was loaded as
`pingdotgg#410`.

That number exists only on the fork:

| Repo | #410 |
| --- | --- |
| `patroza/t3code` | open — docs(agents): drop obsolete fork stack
workflow |
| `pingdotgg/t3code` | GraphQL: could not resolve |

The agent on the left found the fork PR (`gh pr view 410` with `GH_REPO`
/ origin). The panel asked GitHub for the upstream number and showed
**Pull request not found**.

This is not the earlier App-install / wrapper issue. Ops #81 and product
#408 already landed; t3vm is minting public-read fallback tokens.

**Fix:** open the panel from the change-request URL (`patroza/t3code`),
and accept any of the checkout's remotes on the server so origin is
still this project.

## Test plan

- [x] `vp test run
apps/server/src/pullRequest/PullRequestService.test.ts
apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts`
- [ ] After deploy: open the `#410` thread panel and confirm it loads
`#410`
- [ ] Confirm an upstream PR on the same checkout still opens against
`pingdotgg/t3code`

Co-authored-by: T3 Code PR Stack <41898282+github-actions[bot]@users.noreply.github.com>
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