* Fix typings for stats app
* Fix problems with callback functions that should be async
According to the Octokit types, the paginate() function's callback has an argument of type `Promise<AnyResponse>`, but it was being used as if it wasn't in a Promise
* update octokit methods
* Add button to setup GitHub app
* Add app.yml
* Add some comments to app.yml
* Associate events with permissions
* Allow configuring app with manifest
* Hacky version of callback URL for configuring app
* Remove manifest stuff for now
* Return nil if private key is not found
* Move setup stuff to a separate plugin
* Revert changes to default plugin
* Remove FIXME
* Revert changes to default template
* Use separate template for setup
* Fix lint warnings
* Convert test helper to typescript
* Initial test for setup app
* Require tests files to match `.test.(js|ts)`
* Account for multiple protocols in x-forwarded-proto
* Wrap pem in quotes
* Collapse class into request method for now
* run `refresh` after updating .env on Glitch
* Extract update-dotenv to a node module
* Create a smee url if one does not exist
* Hacky version of serving up the manifest
* WIP Manifest with code
* add comments for plan + figure out port
* using user-agent header for review lab
* add success view to redirect to after installation
* api is actually on github
* start making post
* fix quoting issue on POST
* everything is off review lab and on dotcom
* working version of app manifest flow
* Start trying to write tests against setup
* more refactor into thingerator; basic tests; write plans for other tests
* merge better..
* ok atom conflict handling broke
* hack the tests back together
* pass the tests 👊🏼
* moar test
* make it open in a new tab for Wil 💖
* make boolean work
* clean up logic, move messgae, just return html url not response
* clean up tests 👷🏾♀️
* rename Brandon's thingerator to manifest-creation
* Add env var INSTALLATION_TOKEN_TTL
* Fixed jest tests not running under yarn with insecure localhost warning
* Update configuration.md
* Added integration nock tests for Application auth cache
* Fix test comment typo
* Clean global variables both before and after auth cache tests
Stop using the names 'plugin' and 'app' to refer to instances of
ApplicationFunction.
This renames all variable names, but leaves the plugins folder in place,
to be renamed later
* State event in Context constructor implements WebhookEvent
* State Context implements WebhookEvent
* Explicitly state properties in Context constructor instead of using
Object.assign
This replaces all internal references to "robot" with "app" or
"Application". There should be no functional change in public APIs, but
may cause some issues for anyone using internal APIs.