github santojon/Deck-Shelves v1.4.0
Deck Shelves v1.4.0

one day ago

Added

  • Forgotten smart shelf template (forgotten): shows Steam games owned for 3+ years that have never been launched, sorted by oldest acquisition date first. Uses rt_purchased_time / user_added_ts from AppOverview. Low reliability by design — targets deep backlog clearing.
  • Spare Time smart shelf template (spare_time): shows installed games with ≤2 hours of playtime, but only during three daily windows (6–9h, 12–14h, 19–22h). Resolver returns empty immediately outside those windows. Sorted by Deck compatibility then most recently played.
  • SVG icons added to all standard and smart shelf template picker buttons — each button now shows a small icon before the template name for quicker visual scanning.
  • In-plugin About → Shelves page now documents standard shelf templates (blank + 8 presets) before the smart shelves section.
  • Surprise Me daily seed changed from UTC midnight to local midnightYYYYMMDD integer derived from new Date() local calendar date.
  • [FEATURE] Smart Shelves: new shelf type whose content is generated automatically by library heuristics — appears on the home screen only when the heuristic returns results, disappears otherwise (no CSS hiding, uses the natural null render path). Toggle smartShelvesEnabled in the QAM enables a separate Smart Shelves section with its own template picker and reorderable list.
  • Roulette smart shelf template (random_pick): selects games randomly from the full library — result is memoized for 5 minutes, then reshuffles. Always visible when the library is non-empty.
  • Surprise Me sub-toggle under Smart Shelves: hides the manual shelf list and banner entirely; the system picks 1–5 smart templates each day using a deterministic daily seed. A slider (0–5) sets the exact count; 0 means the system decides (cycles 2, 3, or 4 per day). smartSurpriseMe and smartSurpriseMeCount added to SettingsSchema, _sanitize_settings, and DEFAULT_SETTINGS.
  • Fifteen smart shelf templates: Daily Pick (deterministic daily rotation), Deck Picks (Deck Verified library), On Deck (installed + Deck compat, sort by recently played), Recently Played (last 30 days), Long Sessions (installed + >3 h playtime), Not Started (zero playtime, never launched), Best Unplayed (installed, never played), Quick Play (installed + Deck compat + <2 h), Interrupted (30 min–3 h), Non-Steam (non-Steam shortcuts and emulators), Spare Time (installed + ≤2 h, only during 6–9h/12–14h/19–22h windows), Time of Day (rotates by hour), Rediscover (last played >6 months, >1 h, Deck compat), and Forgotten (owned 3+ years, never launched, sorted oldest first). Ordered by probability of returning results in the picker.
  • SmartShelf / SmartShelfMode Zod types and smartShelvesEnabled / smartShelvesAtBottom / smartShelves fields in SettingsSchema — all optional with defaults, backwards compatible with existing settings.
  • smartShelvesAtBottom toggle (sub-toggle under the main switch) moves smart shelves below normal shelves. When hideRecents is active and the toggle is off, smart shelves are inserted after the first normal shelf (which occupies the native recents slot).
  • Smart shelf controls: hide/show, move up/move down, and delete — via the ⋯ context menu (same pattern as normal shelves). Smart shelves are not editable by design.
  • Smart shelf list uses ShelfListLabel (eye icon + title), matching the normal shelf list appearance.
  • Heuristic results memoized per (mode, limit) with a 5-minute TTL — avoids re-running on every home render cycle.
  • smartShelvesEnabled, smartShelvesAtBottom, and smartShelves preserved by _sanitize_settings in the Python backend and round-trip correctly through import/export.
  • Two new standard shelf templates: Non-Steam / Emulators (filter: nonSteam: true, sort recent) and Long Sessions (filter: installed + >3 h playtime, sort playtime).
  • Template pickers (standard and smart shelves) redesigned as a 2-column button grid where the button text is the template name. Standard picker shows Start blank first — opens the edit modal immediately.
  • [DOCS] docs/smart-shelves.md: full reference for all 15 templates; reliability table re-ordered highest first.
  • [DOCS] docs/shelf-templates.md and docs/smart-shelves.md linked from README.md documentation section.
  • [DOCS] docs/shelf-templates.md: reference for all 8 standard templates; note about picker layout.
  • [I18N] All smart shelf and template i18n keys fully translated across all 16 supported locales.
  • In-plugin documentation (About → Shelves) updated with Smart Shelves section listing all 12 templates with descriptions, fully translated.

Don't miss a new Deck-Shelves release

NewReleases is sending notifications on new releases.