Repository navigation
Refresh Jellyfin 12 theme - #735
Merged
Merged
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
Pin the fixture image digest and ensure generated artifacts are correctly ignored.
Pull request overview
Refreshes Jellyfin 12 theming and adds a reproducible local development fixture.
Changes:
- Updates Jellyfin Material UI and legacy component styling.
- Adds Compose, nginx injection, setup scripts, and synthetic media generation.
- Documents verification coverage and playback limitations.
File summaries
| File | Summary | Review notes |
|---|---|---|
dev/README.md |
Links the Jellyfin development setup. | — |
dev/jellyfin/setup.py |
Configures the fixture and sample library. | — |
dev/jellyfin/seed-media.py |
Generates synthetic movie media. | Moderate (1 vote): pin the image digest and address generated artifacts under dev/artifacts/. |
dev/jellyfin/seed-images.cjs |
Renders artwork PNGs. | — |
dev/jellyfin/README.md |
Documents setup, injection, and verification. | Nit (1 vote): use singular “User cards.” |
dev/jellyfin/nginx.conf |
Injects CSS into dashboard pages. | — |
dev/jellyfin/compose.yaml |
Defines the local Jellyfin fixture. | Moderate (1 vote): pin the image to the documented digest. |
css/base/jellyfin/jellyfin-base.css |
Adds Jellyfin 12 theme and dashboard rules. | — |
Review details
Suppressed comments (4)
dev/jellyfin/README.md:131
- Use singular “User cards” here; “Users cards” is grammatically incorrect.
Users cards and the permission groups in Profile, Parental Control, and Add
dev/jellyfin/compose.yaml:10
- Please pin this image to the digest documented in
dev/jellyfin/README.md:8-9(jellyfin/jellyfin:12.0@sha256:baba630419915985442f315f08b0cf46d9f4c8a0cc4bd38e94a6d35751dd5ef5). The mutable12.0tag can resolve to a different Web/Server build on a later setup, so the fixture would no longer reproduce the documented Jellyfin 12 checks.
image: jellyfin/jellyfin:12.0
dev/jellyfin/seed-media.py:8
- Use the same pinned image digest as the Compose fixture here. With the mutable
12.0tag, a later run can generate media with a different Jellyfin FFmpeg build than the server that scans it, undermining the reproducibility promised by the README's recorded digest.
'-v', f'{root}:/out', 'jellyfin/jellyfin:12.0',
dev/jellyfin/seed-media.py:3
- This writes the generated media under
dev/artifacts, but the repository's ignore rules only cover the root-level/artifacts/directory (.gitignore:1) anddev/.gitignorehas no artifact rule. Running the documented generator therefore leaves the MP4/PNG output untracked, contrary to the README and easy to commit accidentally. Adddev/artifacts/to the ignore rules or move the output to the ignored root-level path and update the Compose mount.
root=Path(__file__).resolve().parents[1] / 'artifacts/jellyfin/724/media'
- Files reviewed: 8/8 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refresh Jellyfin 12 menus, controls, dashboard tables, user cards, and permission panels. Adds a local fixture and debugging notes. Dashboard theming requires subfiltering because Jellyfin excludes it from Custom CSS.
Checked all 11 official themes in Firefox 155; dashboard and mobile checks cover Aquamarine, Nord, and Hotline. CSS minification passed. Automated playback failed with and without the theme, so player controls remain unverified.
Fixes #724.
All official theme options
Aquamarine
Hotline
Hotpink
Dracula
Dark
Organizr
Space Gray
Overseerr
Plex
Nord
Maroon