Skip to content

Releases: helliott20/prunerr

v1.5.9

02 Jun 20:09

Choose a tag to compare

What's Changed

Full Changelog: v1.5.8...v1.5.9

v1.5.8

30 May 22:01
4f36db9

Choose a tag to compare

What's Changed

  • Redesign Storage Trends card to match the Schedule cadence card by @helliott20 in #45
  • Disk-pressure reactive mode + outbound webhooks / Home Assistant by @helliott20 in #46

Full Changelog: v1.5.7...v1.5.8

What's Changed

  • Redesign Storage Trends card to match the Schedule cadence card by @helliott20 in #45
  • Disk-pressure reactive mode + outbound webhooks / Home Assistant by @helliott20 in #46

Full Changelog: v1.5.7...v1.5.8

v1.5.7

30 May 15:13
31a54b8

Choose a tag to compare

What's Changed

  • Fix Reclaimable card overcounting vs. queue; backfill stuck queued items by @helliott20 in #44

Full Changelog: v1.5.6...v1.5.7

v1.5.6

30 May 13:43
25eb171

Choose a tag to compare

What's Changed

  • Fix yellow-on-yellow grace-period chip (warning badge) in light mode by @helliott20 in #42
  • Schedule card redesign (Cadence Ribbon), mobile Rules polish, library & scan fixes by @helliott20 in #43

Full Changelog: v1.5.5...v1.5.6

v1.5.5

30 May 08:48
dd174e3

Choose a tag to compare

What's Changed

  • Hide deleted items from library by default; block re-queueing them by @helliott20 in #40
  • Add a user setting to toggle haptic feedback by @helliott20 in #41

Full Changelog: v1.5.4...v1.5.5

What's Changed

  • Hide deleted items from library by default; block re-queueing them by @helliott20 in #40
  • Add a user setting to toggle haptic feedback by @helliott20 in #41

Full Changelog: v1.5.4...v1.5.5

v1.5.4

29 May 22:11
24fe803

Choose a tag to compare

What's Changed

  • Portal mobile preview chip/sheet to body to stop full-screen flash on slide-up by @helliott20 in #38
  • Polish mobile live-preview sheet: haptics, a11y, smooth chip resize, count-up by @helliott20 in #39

Full Changelog: v1.5.3...v1.5.4

What's Changed

  • Portal mobile preview chip/sheet to body to stop full-screen flash on slide-up by @helliott20 in #38
  • Polish mobile live-preview sheet: haptics, a11y, smooth chip resize, count-up by @helliott20 in #39

Full Changelog: v1.5.3...v1.5.4

v1.5.3

29 May 21:44
1b206c4

Choose a tag to compare

What's Changed

  • Drop invisible backdrop-blur from live-preview chip and sheet for smoother swipe-up by @helliott20 in #37

Full Changelog: v1.5.2...v1.5.3

What's Changed

  • Drop invisible backdrop-blur from live-preview chip and sheet for smoother swipe-up by @helliott20 in #37

Full Changelog: v1.5.2...v1.5.3

v1.5.2

29 May 21:30
aa73eb3

Choose a tag to compare

What's Changed

  • Improve mobile Rules layout and smooth out animation FPS by @helliott20 in #36

Full Changelog: v1.5.1...v1.5.2

What's Changed

  • Improve mobile Rules layout and smooth out animation FPS by @helliott20 in #36

Full Changelog: v1.5.1...v1.5.2

v1.5.1

27 May 15:51

Choose a tag to compare

Performance fix

Library and Collections pages now load noticeably faster — particularly the route-enter animation, which used to drop frames when posters were decoding.

What changed

Radarr and Sonarr were returning TMDB poster URLs at /t/p/original/ (2000×2800 px, often 1–2 MB each), and we were displaying them in 160×240 tiles. Every Library or Collections page load pulled down roughly 10 MB of oversized images that the browser then had to decode on the main thread.

A new server-side helper rewrites image.tmdb.org/t/p/original/... to image.tmdb.org/t/p/w342/... at the API response boundary. w342 comfortably covers the displayed size even at 2× DPR, while cutting per-poster bytes by ~95% and image-decode time by an order of magnitude.

Notes

  • The fix is applied at API read time, so existing databases need no migration — URLs continue to be stored at /original/ and rewritten on the way out.
  • TVDB poster URLs and Plex Photo Transcoder URLs are untouched.
  • Verified via Chrome DevTools performance trace: the ImageDelivery insight that flagged ~10 MB of wasted image bytes on the previous release is no longer triggered.

Files

  • server/src/utils/posterUrl.ts (new) — toThumbnailUrl() helper
  • server/src/routes/{collections,library,queue,rules}.ts — applied at five poster-emitting call sites

Full Changelog: v1.5.0...v1.5.1

v1.5.0

27 May 13:57
3dbee43

Choose a tag to compare

This release is all about how Prunerr feels on a phone, plus a long-overdue contrast sweep so warning banners and highlights actually stand out.

Highlights

Creating rules works on your phone now

  • The rule modal's top bar collapses sensibly on small screens — close icon on the left, shortened "Create" / "Update" labels, no more squashed buttons.
  • Every trash, condition, and chip control has a real thumb-sized tap target.
  • The "Create Rule" button on the Rules page no longer wraps into "Create / Rule".

Floating live-preview chip on mobile

Instead of a half-screen preview panel under the form, mobile now gets a small floating pill at the bottom that shows live match counts and reclaimable storage as you build the rule:

237 matches • 1.2 TB

Tap it (or drag up) to expand into a full bottom sheet with the per-item breakdown. Drag it down anywhere on the sheet, tap the X, or tap the backdrop to dismiss. Numbers stay live in the pill the whole time — the API keeps fetching whether the sheet is open or closed.

Desktop side panel is unchanged.

Field picker is easier to navigate

  • New Common section pinned at the top with the seven fields you actually reach for: Days since last watched, Watched by user, Play count, Days since added, Genres, IMDb rating, File size.
  • Groups reordered so Watching sits above Quality/Ratings (more useful for cleanup).
  • Full keyboard navigation: ↑↓ to move, Enter to select, Home / End, Esc to close, and the search input is auto-focused on open.
  • Magnifier glyph in the search field, kbd-hint footer, and a left-accent bar on the currently-selected field.

Subtle page transitions

Navigating between Dashboard / Library / Rules / Queue / etc. now does a quick 220 ms fade-and-rise. Honours your OS-level reduce-motion setting.

Yellow text contrast pass

A bunch of titles and chips were yellow text on yellow tinted backgrounds — readable in theory, washed-out in practice. Cleaned up across:

  • Every "Sonarr/Radarr not configured" warning (Queue, Library delete modal, etc.)
  • The Badge.warning variant (used app-wide)
  • Modal warning button variant (ConfirmModal warnings)
  • The "Required" chip on the Welcome card
  • Recommendations reason chips
  • Live preview stat pills
  • The Rules v2 badge
  • The AND/OR/NOT logic toggle in the condition builder
  • The Templates/Easy/Custom mode tabs

Warning icons stay amber (the glyph shape still carries the meaning), but titles and labels now use high-contrast surface text.

Under the hood

  • Mobile bottom sheet uses native framer-motion drag="y" with rubber-band elasticity — close on offset > 80 px or velocity > 350 px/s.
  • LivePreview exposes an onSummaryChange callback so consumers (the new chip) can render live headline numbers without a duplicate fetch.
  • FEATURED_FIELD_IDS is an explicit ordered list — easy to recurate later without sorting tricks.

Test plan

  • Open Rules → Create Rule on a phone. Confirm the chip is centered, drag-down dismisses the sheet smoothly, headline numbers update as conditions change.
  • Field picker: arrow-key navigate the Common section, search "watch" and confirm matches appear.
  • Visit Queue / Library / Settings → confirm every yellow warning title is clearly readable.
  • Set OS to reduce-motion → confirm page transitions and chip animations become instant.

Full diff: #35

What's Changed

  • Mobile-first rule builder + app-wide yellow-text contrast pass by @helliott20 in #35

Full Changelog: v1.4.16...v1.5.0