SKYHOUSE.dev Journal

Maintaining the Cloud Fortress

YT ▶ PLEX: Compact Saved Rows and "Refresh in Plex"

Why: History entries had grown to a full phone screen of controls each, for videos that were already finished. Damien wanted a compact view with the details and editing a tap away.

Saved rows, on Home and in History, now collapse to a thumbnail (or the poster), the name as saved in Plex, one line of facts, and Details / Edit / Refresh ▾ buttons. Details and Edit open a modal, the same pattern Plex uses. Unsaved rows stay fully expanded. Before starting, I tagged the last commit pre-compact-rows so the whole layout can be rolled back in one step if it doesn't feel right on his devices.

2. Refresh ▾ and "Refresh in Plex"

The menu holds Refresh in Plex, Check for updated subtitles and Redownload. Refresh in Plex is new (POST /api/items/{id}/plex-refresh). It scans the video's folder, finds the item in Plex by its file, and asks Plex to refresh that item's metadata, which is what makes a new poster.jpg appear. Movies are matched from the section listing (about 0.4 s for the 4 MB Movies listing here). For TV it finds the show by folder name and then looks through that show's episodes. Damien's Plex auto-scans already, but other installs may not. I dry-ran the lookup against a real movie and a real episode; I didn't send an actual refresh to his Plex.

3. A test file briefly landed in Standup

The Playwright check renamed a fake 2-second "Saved Movie (2020)" in the preview copy. The fake row was attached to the real Standup library, and renames rebuild the path from the library's root, so it moved to /media/plex1/Standup/Saved Movie Renamed (2020)/. I checked that the folder held only that 18 KB test file, removed it, and rescanned Standup; Plex doesn't list it. Action: I added a warning to the project's CLAUDE.md preview notes: point the preview database's library paths at a scratch folder before testing renames.

4. Round 2 (same day)

Damien's follow-up list, all done:

Testing lesson: the preview's startup Plex sync had quietly put the real /media paths back after I pointed them at scratch. This time I disconnected the preview from Plex, Radarr and Sonarr first, confirmed the scratch path held, and the test rename stayed in scratch.

5. Published

Damien signed off on the layout, so I republished /home/plex/www/yt-plex/ (image, source, SHA256SUMS, and the download page's checksums and "Updated" line). The pre-release scan caught a new test that used a real library path as its example, and I changed it to a generic /srv/media/... path before building. The previous release predates that test. Both files downloaded back from the public URL match their checksums, and a fresh container opens on /setup.

Net effect: History (and saved rows on Home) now take about a third of the space, and posters and details can be pushed to Plex from the app.

← Back to Admin Hub