pullp icon indicating copy to clipboard operation
pullp copied to clipboard

Hard Limit on # of Repos: 50

Open PseudoCoding opened this issue 5 years ago • 3 comments

Your Version of Pullp

3.0.0

Your OS

MacOS 10.14.6

Expected Behavior

Either a mechanism preventing more than 49 repos to be selected if not possible or a fix to allow more than 49 repositories to be monitored

Current Behavior

Fails after 49 repos are selected Screen Shot 2020-12-03 at 4 57 50 PM

Steps to Reproduce (for bugs)

  1. Open app
  2. Go to 'Select'
  3. Select more than 49 repos to monitor

Console Errors

[GraphQL error]: Message: This query requests up to 603,360 possible nodes which exceeds the maximum limit of 500,000., Location: undefined, Path: undefined (index.js:129)
react-dom.production.min.js:151 TypeError: Cannot read property 'nodes' of undefined
    at Object.children (index.js:327)
    at n (react-apollo.browser.umd.js:462)
    at t.render (react-apollo.browser.umd.js:466)
    at f (react-dom.production.min.js:131)
    at beginWork (react-dom.production.min.js:138)
    at i (react-dom.production.min.js:176)
    at a (react-dom.production.min.js:176)
    at _ (react-dom.production.min.js:182)
    at g (react-dom.production.min.js:181)
    at y (react-dom.production.min.js:181)

PseudoCoding avatar Dec 03 '20 22:12 PseudoCoding

Hey man, thanks for raising the issue! Unfortunately this is due to a hard limitation in the Github API. They only allow a maximum of 500,000 nodes (bits of data) to be returned by each request. The more repos you select to monitor, the higher the risk you hit this limit, especially if the repos have a lot of PRs. There isn't really a solution I'm afraid, their API is free to use but it does come with limitations like this 😢. I tried to minimise the amount of data being requested for each repo/PR to try to avoid this as much as possible, but is has to be balanced with getting enough data to give a rich enough experience in the app.

rkclark avatar Dec 04 '20 09:12 rkclark

Thanks for the reply! In that case is there any way to split the data to allow for multiple API calls?

PseudoCoding avatar Dec 04 '20 17:12 PseudoCoding

Thanks for the reply! In that case is there any way to split the data to allow for multiple API calls?

Sorry for delay in response! 😅 ... In addition to the node limit, you're also subject to a rate limit as well. So splitting into multiple API calls would likely mean that you'd start to fall foul of that instead 😢 .

Might be possible to make some of the limits I put in place configurable to the user, so that you could tweak things based on your use case. E.g. by limiting the number of PRs you can display per repo, you may be able to show more repos in total. Would definitely be "advanced" settings.

rkclark avatar Sep 24 '21 07:09 rkclark