Skip to content

feat(hub): recover after GitHub App transfers - #62

Merged
nshki merged 5 commits into
mainfrom
copilot/hub-app-transfer-recovery
Oct 22, 2026
Merged

nshki merged 5 commits into
mainfrom
copilot/hub-app-transfer-recovery

Conversation

Copilot AI commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Why

Hub operators currently need console edits after transferring their GitHub App to another account. Hub should update the owner itself and restore repository access once the new owner reinstalls the same App. Fixes #61.

What changes

Hub stores the installation account separately from the App owner. Its existing scheduled checks and installation notifications confirm the current owner through GitHub and recognize a replacement installation. This also recovers transfers completed before upgrading Hub. The administration page explains when reinstallation is needed, and the setup guide describes the recovery flow.

Polling and push or workflow notifications cannot save branch and workflow results from a previous owner or installation, even after the same repository becomes available again. This includes branch deletion and missing-workflow results.

Repository access pauses while the App is uninstalled. Existing Builds, reviews, users, browser Sessions, and canvas grants remain, but repository access still requires a verified installation in the current App owner's account. No audit-log permission or cross-account installation support is added.

Recovery after transfer and reinstallation was confirmed in a separate staging environment before this follow-up.

The merged full Rails run returned HTTP 503 in unchanged learning-recall coverage. That file passed when rerun on its own, but combined-suite stability remains unverified.

Storybook screenshots

Hub/Pages/Security/GitHub App / Installation Required - light theme, 1440 x 1000 viewport.

GitHub App administration showing the removed installation and instructions to reinstall in the App owner's account

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI max review requested due to automatic review settings October 21, 2026 20:24
Copilot AI requested review from a team and nshki as code owners October 21, 2026 20:24

This comment was marked as duplicate.

Copilot AI added 2 commits October 21, 2026 20:29
Keep transfer recovery and critical failure coverage while removing duplicate scenarios, unlikely response variations, and internal-step assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Check repository availability instead of counting GitHub requests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@nshki nshki left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed in a separate staging environment.

Comment thread hub/app/models/github_app_configuration.rb Outdated
Comment thread hub/app/javascript/pages/github-app-page/stories.tsx
Copilot AI added 2 commits October 22, 2026 22:37
Bind branch and workflow discovery writes to the owner and installation captured before GitHub work, including webhook receipts and missing-run results after repository reactivation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Retain the latest schema version alongside the installation-account migration, and preserve main's administration continuation and Storybook changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@nshki
nshki merged commit f561ac7 into main Oct 22, 2026
39 checks passed
@nshki
nshki deleted the copilot/hub-app-transfer-recovery branch October 22, 2026 23:13
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.

feat(hub): recover after GitHub App ownership transfers

5 participants