securedrop
securedrop copied to clipboard
Pagination
Description
Currently, we have no pagination on results on either the SecureDrop source or journalist interface. For example, this means that if a news organization isn't great about deleting sources then they will have a list of potentially hundreds of sources appear whenever they load the journalist interface. This is bad for usability as it is overwhelming and it increases page load times, which are already slow due to Tor.
User Stories
As a journalist user, I want to see only the N most recent sources on the index so that I'm not overwhelmed with hundreds of sources.
When JS is enabled, we should flag it like ?js=1
so that we can send all the results and do pagination / sorting in the UI. Otherwise we use the backend to do this. I mean, assuming we want to tack any more JS on to the app.
In-work. Currently not taking JS into account.
Closing per rationale here (API pagination - #5073 - is of course still very much on the table).
It's worth looking at pagination or similar solutions to address potential timeouts on instances with a large (5k+) number of sources (though obviously the advice to journalists to delete old or unwanted conversations is still sound, the app server should not be seen as a long-term data store). Reopening for now.