UI is broken for zones with >500 entries
Zones containing >500 entries are no longer displayed in the UI. The following error message is shown instead:
Pagination required. You can query up to 500 items at a time (508 total). Please use the
firstpage link (see Link header).

I don't know if this is a duplicate of #423, but since this issue breaks the UI, it may make sense to track it in a separate issue.
Thanks for the report, that's indeed a known problem.
The difficulty lies in what should be the solution. We can, of course, make the GUI follow the pagination Link: headers returned by the server, and offer identical pagination in the GUI.
The problem is that the server-side pagination is always ordered by the RRset's created field, so that sorting in the GUI wouldn't work and you wouldn't know on which page to find what record. This server-side limitation is required to ensure consistency for cases where concurrent requests add or even delete RRsets while you're paginating (i.e., if you are on page 3 with RRsets 1001..1500 and one of that range is deleted, the "next" page will still start with the 1501th record (in original counting); the 1501th record will not move over to the previous page just because a record there was deleted). If consistency was not ensured, clients iterating over all pages could not be certain not to miss any RRsets or not to encounter duplicates when write operations are going on concurrently.
Worse, the search field at the top would only be able to search through the current page, or pages retrieved so far. Alternatively, the GUI could pre-fetch all pages, but that takes long, is probably a waste of resources on either side, and looks like the user should really be using something like dnscontrol.
What are your thoughts on this?
Those are all valid points and I only see two valid solutions:
- Either fetch no entries and display a message like "This zone contains too many entries, please use the API instead" or similar. When I encountered the error message in my screenshot for the first time, I was quite concerned that I may have broken the zone somehow. It took me a moment to figure out that the error was related to pagination.
- or fetch all entries, but this may lead to other issues as you pointed out above.
Partial fetching does not make sense imho, since it will lead to incomplete results in searching and sorting.
