← Back to blog

A Tidier Library List

This one is less of a feature and more of a fix-up, but it's the kind of fix-up that makes the library feel trustworthy again, so it deserves a few words.

The recordings page has two views: a thumbnail grid, and a list grouped by access... Team, Shared with me, Shared by me, Private to me, Published, plus your local drafts. The grouped list is the one that needed the work.

What Was Wrong

The old list built its sections from whatever page of results happened to be loaded. The library is paginated server-side (ten items at a time), so the sections were only ever a view over the current page.

In practice, that meant a video you knew was shared with you might not appear under "Shared with me"... it was simply sitting on the third page. Counts were off. Sections came and went as you paged. Not great.

To be fair, it worked fine when libraries were small enough to fit on one page. Then they weren't.

What It Does Now

Each section now asks the server for its own items and its own true count, and the overview loads the first five of every section in parallel. So:

  • The number on each section header is the real total, not "how many landed on this page".
  • "View all" opens that section on its own, with proper pagination.
  • The section you're viewing lives in the URL, so a refresh (or the back button) keeps your place.

Your choice of grid or list is remembered between visits. One small detail we're fond of: the grid now pages at 12 items instead of 10, because it lays out three or four tiles per row... a page of 10 always ended on a ragged row.

Faster Status Too

While we were in there, we changed how publish and transcode state reaches the list. It used to be fetched separately, after the items had already rendered. Now every item arrives with its state attached, so badges like "Transcoding..." show immediately and update live as the video becomes ready.

None of this is glamorous... it's list plumbing. But this is a page many of you look at every day, and it should tell the truth about what's in your library. Now it does.

Until next time!

Wouter
Founder