The issue is the pagination buttons don't work--the page # changes on the UI, but the same row is displayed when I click on the > button, unless I manually click refresh. That will load the next cursor from the API.
I'm having a similar issue with Cursor Based pagination, when I go to page 2, the afterCursor and query data are correct, but table shows there is no rows, then, when I go back to page 1, I can see the rows from page 2 appended after rows of page 1.
To me this seems like the pagination has some bugs, since the data an cursors are correct.
^ Disregard, I just learned that table.pageSize has a predefined value which changes depending on the table's height, so if you use a limited number of rows for each page and this number is lower that table.pageSize you'll fall into the same trap.
The solution for me was to set my limit parameter same as table.pageSize
In case it helps someone, here is how ReTool support helped me solve it:
The Query needs to user table.afterCursor (not nextAfterCursor which causes a recursion error)
The table needed to use "Cursor-based" pagination, not GraphQL
If you do use GraphQL in your setup, make sure the table "more data to load" code must output a boolean (I was missing a .length > 0 condition). No error is thrown if that returns NULL but it will prevent pagination from working.
The Query needs to have "Update Automatically when input changes". Setting that to manual update will not work with pagination.