From 9a21553533da519190bbfe308afed5fde35e37d0 Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp <19+brynary@users.noreply.github.com> Date: Tue, 26 May 2026 19:27:09 -0400 Subject: [PATCH] fix(web): generalize GitHub App post-install copy (#418) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary The `/setup` screen rendered after GitHub redirects post-install (params `installation_id` + `setup_action=install`) showed copy that assumed the user was retrying a failed run: > **Retry the run** — Start the run or preflight again so Fabro can clone the repository and push checkpoint branches with the new installation. But this screen is also where **first-time installers** land during onboarding, when there is no prior run to retry. The "retry" framing is confusing in that path. ## Fix Rewrite step 2 to be neutral between onboarding and retry-after-failure: > **Use the new installation** — Sign in and start a run or preflight. Fabro can now clone repositories and push checkpoint branches using the new installation. The CTA below the steps ("Continue to sign in") and step 1 ("Return to Fabro / The GitHub App is installed for the selected account or repositories") already work for both paths — only step 2 was over-fit. No structural changes; the route still keys off the same query params. Update `setup.test.ts` to assert the new title. ## Test plan - [x] `bun test app/routes/setup.test.ts` — 1 pass - [x] `bun run typecheck` — clean - [x] Manual: behavior unchanged for first-time-setup path (no install params); only the post-install variant text changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- apps/fabro-web/app/routes/setup.test.ts | 2 +- apps/fabro-web/app/routes/setup.tsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/fabro-web/app/routes/setup.test.ts b/apps/fabro-web/app/routes/setup.test.ts index d7e40bc67..1dd46810a 100644 --- a/apps/fabro-web/app/routes/setup.test.ts +++ b/apps/fabro-web/app/routes/setup.test.ts @@ -14,7 +14,7 @@ describe("setupContentForSearch", () => { ); expect(content.steps.map((step) => step.title)).toEqual([ "Return to Fabro", - "Retry the run", + "Use the new installation", ]); }); }); diff --git a/apps/fabro-web/app/routes/setup.tsx b/apps/fabro-web/app/routes/setup.tsx index fa7bec5db..96d36034d 100644 --- a/apps/fabro-web/app/routes/setup.tsx +++ b/apps/fabro-web/app/routes/setup.tsx @@ -44,11 +44,11 @@ const githubInstallReturnSteps = [ ), }, { - title: "Retry the run", + title: "Use the new installation", body: (
- Start the run or preflight again so Fabro can clone the repository and - push checkpoint branches with the new installation. + Sign in and start a run or preflight. Fabro can now clone repositories + and push checkpoint branches using the new installation.
), },