Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Private repositories support #115

Merged
merged 27 commits into from
Feb 26, 2019
Merged

Private repositories support #115

merged 27 commits into from
Feb 26, 2019

Conversation

brunolemos
Copy link
Member

@brunolemos brunolemos commented Feb 14, 2019

Fix #32

  • Read GitHub App documentation a million times to understand it
    • How to implement it properly
    • All the different types of tokens
    • Limitations (which endpoints work for each token, permissions limitations, etc.)
    • Come up with workarounds for the limitations
    • Plan a good UX to handle all this
  • Server side implementation to handle GitHub Apps, GitHub Webhooks and new GraphQL queries
  • On authentication flow, get tokens for both GitHub OAuth and GitHub App
  • Heuristic to detect if a repository may be private
    • If tried to fetch and received 404 not found, try again with only the owner/org instead
    • If fetched owner successfully, it's probably a private repo. If not, then the user typed an invalid owner/repo, so show the Not Found error.
  • If repository is private, show button to setup GitHub App
  • If has private access to a private notification, use the Installation token and fetch notification enhancements
  • If has private access to a column repository, use the Installation token and fetch the events activity
  • Fix flow on mobile apps and electron
  • Integrate with Webhooks instead of fetching all data on every login
  • Integrate with GitHub Marketplace
    • Have at least 1000 installations on the GitHub OAuth app
    • Have at least 250 installations on the GitHub App
      • Launch a version with the recently created GitHub App to get to this number
    • Get the "devhub" username that seems to be taken but not being used in any real GitHub App
      • Contact GitHub by e-mail multiple times
      • Get the username
      • Launch new version with the new username but without breaking existing apps
    • Start oauth flow automatically after a new app installation
    • Show plan details and allow user to manage the plan from the app's UI
    • Allow user to delete account completely
    • Integrate with Marketplace billing flows
    • Create Incident Response Plan and Vulnerability Management Workflow
    • Comply with the other dozens pre-requisites
    • Submit to GitHub Marketplace
    • Available on GitHub Marketplace

Button was not working on mobile when being wrapped with a Link.
Because installation token is short lived and automatically refreshed every hour
Fix error: Unexpected key "api" found in previous state received by the reducer.
Required by GitHub Marketplace
The redirect_uri is sent to the server, which will save in the session and redirect to this after installation the GitHub App, so the app gets open via devhub://.
@brunolemos brunolemos marked this pull request as ready for review February 26, 2019 10:30
@brunolemos brunolemos merged commit 304eb5c into master Feb 26, 2019
@brunolemos brunolemos added this to the v0.47.0 milestone Feb 26, 2019
@brunolemos brunolemos deleted the github-app branch February 28, 2019 08:35
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