This PR contains the following updates: | Package | Update | Change | |---|---|---| | ghcr.io/sahara101/movie-roulette | minor | `v5.2.1` → `v5.3.0` | | [sahara101/Movie-Roulette](https://github.com/sahara101/Movie-Roulette) | minor | `v5.2.1` → `v5.3.0` | --- ### Release Notes <details> <summary>sahara101/Movie-Roulette (sahara101/Movie-Roulette)</summary> ### [`v5.3.0`](https://github.com/sahara101/Movie-Roulette/releases/tag/v5.3.0) [Compare Source](https://github.com/sahara101/Movie-Roulette/compare/v5.2.1...v5.3.0) #### New Features - **Enrichment Cache** — persistent background cache pre-fetches TMDb credits, external links, trailers, and movie logos at startup; movie cards load instantly without secondary API calls (`_enriched` flag skips all async fetches) - **Session-Based Seen Tracking** — random selection avoids repeating movies within the same browser tab session; resets automatically when the full pool is exhausted with a toast notification - **Media Server Web Client** — client-picker now includes the configured media server as a direct watch option; opens the movie's detail page in Plex/Jellyfin/Emby web UI in a new tab - **Animated Login Logo** — app icon replaced with a looping silent MP4 on the login screen - **PWA Splash Screen** — standalone home-screen launches show a custom dark splash for 1.5s, dismissed once per session #### Visual Overhaul - **Color System** — full amber palette replacing all purple/indigo across both HeroUI themes; buttons, glows, progress bars, focus rings, and aurora orbs all updated - **Typography** — three-font system: Geist (UI), Instrument Serif (movie titles), Geist Mono (numbers/metadata) - **Cinema Poster Mode** — full-bleed blurred backdrop, glassmorphism info bars, editorial director layout, spring-eased progress bar - **Filter Island** — filter controls unified into a glass pill with active-count badge and spring-entrance dropdown - **Icon Button Animations** — Next, Power, and service-switcher icons spin 360° on hover (disabled on touch devices) #### Bug Fixes - **Collection warning count mismatch** — badge and modal heading now consistently exclude Trakt-watched movies; Trakt-watched previous movies hidden from modal list (no action needed) - **Collection warning shown for all-handled collections** — button correctly hidden when every previous movie is watched locally or on Trakt and all other collection movies are in library or on Trakt - **Collection warning slow to appear** — moved to async `/api/collection_status` endpoint; no longer blocks movie response - **TMDb collection cache never expiring** — weekly APScheduler job clears `lru_cache` so new sequels appear without restart - **Next-movie background flash** — images preloaded before DOM update; old movie stays visible until new assets are ready - **Service switch leaves stale filters** — switching service now resets filters and session seen-list - **Apple TV pairing on macOS Docker** — optional IP Address field uses `--scan-hosts` for direct unicast pairing; failure now reports EOF/TIMEOUT reason with atvremote output - **Apple TV device name/model** — stored on pairing and shown in settings instead of raw UUID - **PWA icons showing white background** — all icons rebuilt with `#222222` background; 1024×1024 maskable icon added for macOS dock - **Auth session writes on every request** — session values only written when they actually change #### Changes - **Default settings** — fresh installs: Movie Logos off, Login Backdrops on, Load on Start on, Poster Mode set to Screensaver **Full Changelog**: <https://github.com/sahara101/Movie-Roulette/compare/v5.2.1...v5.3.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My44NC4yIiwidXBkYXRlZEluVmVyIjoiNDMuODQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=--> Reviewed-on: #5012 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
129 lines
3.5 KiB
YAML
129 lines
3.5 KiB
YAML
movie-roulette:
|
|
controllers:
|
|
main:
|
|
type: deployment
|
|
replicas: 1
|
|
strategy: Recreate
|
|
revisionHistoryLimit: 3
|
|
containers:
|
|
main:
|
|
image:
|
|
repository: ghcr.io/sahara101/movie-roulette
|
|
tag: v5.3.0
|
|
pullPolicy: IfNotPresent
|
|
env:
|
|
- name: FLASK_SECRET_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: movie-roulette-config-secret
|
|
key: secret-key
|
|
- name: CORS_ALLOWED_ORIGINS
|
|
value: movie-roulette.alexlebens.net
|
|
- name: DISABLE_SETTINGS
|
|
value: "TRUE"
|
|
- name: AUTH_ENABLED
|
|
value: "TRUE"
|
|
- name: AUTH_SESSION_LIFETIME
|
|
value: "86400"
|
|
- name: JELLYFIN_URL
|
|
value: http://jellyfin.alexlebens.net
|
|
- name: JELLYFIN_API_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: movie-roulette-config-secret
|
|
key: jellyfin-key
|
|
- name: JELLYFIN_USER_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: movie-roulette-config-secret
|
|
key: jellyfin-user
|
|
- name: LOGIN_BACKDROP_ENABLED
|
|
value: "TRUE"
|
|
- name: HOMEPAGE_MODE
|
|
value: "FALSE"
|
|
- name: USE_LINKS
|
|
value: "TRUE"
|
|
- name: USE_FILTER
|
|
value: "TRUE"
|
|
- name: USE_WATCH_BUTTON
|
|
value: "TRUE"
|
|
- name: USE_NEXT_BUTTON
|
|
value: "TRUE"
|
|
- name: USE_GRID_VIEW
|
|
value: "true"
|
|
- name: ENABLE_MOBILE_TRUNCATION
|
|
value: "TRUE"
|
|
- name: SHOW_NOW_WATCHING_CARD
|
|
value: "FALSE"
|
|
- name: USE_HEROUI_THEME
|
|
value: "FALSE"
|
|
- name: ENABLE_MOVIE_LOGOS
|
|
value: "TRUE"
|
|
- name: LOAD_MOVIE_ON_START
|
|
value: "FALSE"
|
|
- name: SEERR_URL
|
|
value: http://seerr.alexlebens.net
|
|
- name: SEERR_API_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: movie-roulette-config-secret
|
|
key: seerr-key
|
|
- name: REQUEST_SERVICE_DEFAULT
|
|
value: "seerr"
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 128Mi
|
|
service:
|
|
main:
|
|
controller: main
|
|
ports:
|
|
http:
|
|
port: 80
|
|
targetPort: 4000
|
|
protocol: HTTP
|
|
route:
|
|
main:
|
|
kind: HTTPRoute
|
|
parentRefs:
|
|
- group: gateway.networking.k8s.io
|
|
kind: Gateway
|
|
name: traefik-gateway
|
|
namespace: traefik
|
|
hostnames:
|
|
- movie-roulette.alexlebens.net
|
|
rules:
|
|
- backendRefs:
|
|
- group: ''
|
|
kind: Service
|
|
name: movie-roulette
|
|
port: 80
|
|
weight: 100
|
|
matches:
|
|
- path:
|
|
type: PathPrefix
|
|
value: /
|
|
persistence:
|
|
data:
|
|
forceRename: movie-roulette-data
|
|
storageClass: ceph-block
|
|
accessMode: ReadWriteOnce
|
|
size: 1Gi
|
|
retain: true
|
|
advancedMounts:
|
|
main:
|
|
main:
|
|
- path: /config
|
|
readOnly: false
|
|
volsync-target-data:
|
|
pvcTarget: movie-roulette-data
|
|
local:
|
|
enabled: true
|
|
schedule: 44 8 * * *
|
|
remote:
|
|
enabled: true
|
|
schedule: 44 9 * * *
|
|
external:
|
|
enabled: true
|
|
schedule: 44 10 * * *
|