Skip to content

Fix GitHub App Reinstallation Flow After App Revocation #121

Description

@DevOlabode

Description

When a user revokes Vizably's GitHub App installation from their GitHub settings, Vizably does not properly detect that the GitHub App has been revoked or disconnected.

The current behavior leaves the GitHub connection in an invalid state and does not prompt the user to reinstall the GitHub App. The user should be able to disconnect the invalid GitHub connection and go through the GitHub App installation flow again.

Expected Behavior

When the GitHub App installation has been revoked:

  1. Vizably detects that the existing GitHub installation is no longer valid.
  2. The user is shown that GitHub is disconnected/revoked.
  3. Any stale GitHub installation state is cleared from Vizably.
  4. The user is presented with a Connect/Reinstall GitHub action.
  5. Clicking the action starts the GitHub App installation flow.
  6. After reinstalling the GitHub App, Vizably correctly stores and uses the new installation information.
  7. The user can access their repositories normally after the new installation is completed.

Current Behavior

After revoking the GitHub App from GitHub settings, Vizably continues to treat the GitHub connection as if it were still installed. The application does not provide a proper disconnect/reinstall path, preventing the user from cleanly reinstalling the GitHub App.

Acceptance Criteria

  • Detect when a stored GitHub App installation is no longer valid.
  • Handle GitHub API responses indicating that the installation has been revoked/uninstalled.
  • Remove or invalidate stale GitHub installation data.
  • Update the UI to show the GitHub connection as disconnected.
  • Provide a clear Reinstall GitHub App / Connect GitHub action.
  • Start the correct GitHub App installation flow from that action.
  • Store the new installation ID/details after successful installation.
  • Verify that repository access works after reinstalling.
  • Ensure the existing GitHub connection flow continues to work for users who have not revoked the app.
  • Add/update automated tests covering the revoked-installation → disconnect → reinstall flow.

Activity

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