Let’s take the user “sindresorhus” for this example.
If we go into his repos and use a filter like stars:>=0, we see that there is 1030 repos found.
There is 30 repos per page, and the next page url is => /sindresorhus?after=Y3Vyc29yOjMw&language=&q=stars%3A%3E%3D0&tab=repositories
The code Y3Vyc29yOjMw decoded is “cursor:30” so we can use at to move in the pagination, with multiples of 30.
With 1030, the last multiple of 30 is 1020 (1020 % 30 = 0)
Until cursor:960 (in base64, so Y3Vyc29yOjk2MA) everything is good, but cursor:990 returns nothing (/sindresorhus?after=Y3Vyc29yOjk5MA&language=&q=stars%3A%3E%3D0&tab=repositories), and cursor:1020 throws a 500 status code error (/sindresorhus?after=Y3Vyc29yOjEwMjA&language=&q=stars%3A%3E%3D0&tab=repositories).
Do you know why this happens and if you can fix that ? It seems more like a bug than a feature / intended design.
Thanks in advance !