Open elenakrittik opened 1 month ago
As per this discussion (thanks to \<at> shiftinv for the answer), the graphql api does not allow unauthenticated requests at all. This means that our best hope is to make REST api requests and only deserialize stuff that we actually need.
On one hand, we will use excessive bandwidth. On the other, it's really nothing compared to the final download size. This will also drop dependency on cynic
, which should reduce dependency count by a great number. (It also uses logos for parsing, which is worrying because our patches are not exactly stable and it can break at any time)
GitHub's GraphQL API has draconian limits when unauthorized. Adding a separate fetch method for unauthenticated users is highly undesirable, so we need to either find a way to reduce "point cost" of our requests (possibly by not fetching versions beyond 3.x or even 3.4?) or provide a method to set the authentication token manually (also highly undesirable because of maintenance costs, security questions and inconvenience for the user, but viable as a last resort).
(Currently, gdtk expects the user to have
gh
installed and set up)