Conversation
Owner
|
I really like this PR, thank you so much for your contribution. But there are two things you should look at:
|
… already in the user's Jellyfin library The greyed-out "Available" button becomes a live one that opens the title in Jellyfin, but only when the plugin's own library lookup (the same user-scoped query the Requests tab uses) finds it in a library the signed-in user can access. Partially available shows keep upstream's enabled Request button next to a "Partially available" button that opens the series. If Jellyfin cannot confirm the item on click, an alert is shown and nothing navigates. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q8YaRXbb9HLopNkY2ngER4
b3p3k0
force-pushed
the
feat/available-button-opens-item
branch
from
September 14, 2026 14:00
584b322 to
1507c85
Compare
Author
|
ty for your feedback, I've made the following changes:
available movie: PASS AI usage as in the original description: Claude Code (Claude Fable 5.1) drafted the code and test scripts; I reviewed every line and ran the tests on both setups. |
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.
Summary
(generated by Claude, reviewed and lightly edited by human)
In the details modal, media that already exists on the server shows a disabled "Available" / "Partially available" button — a dead end, especially for non-technical users who found the title through the discover rows and now have no clear path to actually watch it.
This PR makes that button more effective imho by giving the user a direct path to the title: when Seerr knows the item's Jellyfin id (
mediaInfo.jellyfinMediaId/jellyfinMediaId4k, present for status 4/5), the button renders enabled — looking exactly like a normal "(Partially) Avaialble" button — and clicking it closes the modal and navigates to the item's Jellyfin details page. Label text is unchanged and users have a clear path to playing the title.ApiClient.getItem->AppRouter.showItem, falling back toDashboard.navigate('details?id=…')), copied into the modal since each Inject file is self-contained. Seerr itself builds the samedetails?id=links server-side, so the pattern has upstream precedent.else if-gated, so a navigable button can never also open the request dialog. 4K button gets the symmetric treatment.Inject/seerrfin-modal.js(+53/−5). No CSS, backend, or config changes; no version bump.How I tested
Disposable Docker stack: Fresh Jellyfin 10.11.11 + Seerr (ghcr.io/seerr-team/seerr:latest) + a local plugin repository, with File Transformation and this build installed through the normal Dashboard → Plugins → Repositories flow.
jellyfinMediaId→ button disabled, unchanged from current behavior. ✅My own "prod" stack: installed manually per Jellyfin SOP and existing prereqs
Environment: Jellyfin 10.11.11 (Docker, official image) and a bare metal "production" Jellyfin instance 10.11.11 • Seerr latest (ghcr) • Firefox on Ubuntu Linux 26.04 • default theme
Screenshots:
AI usage disclosure (per CONTRIBUTING #3)
Written with AI assistance: Claude Code (CLI/VSCode harness), model Claude Fable 5 (
claude-fable-5), across a recon session (reading this codebase + Seerr's source to findjellyfinMediaIdand the existingnavigateToJellyfinItempattern) and an implementation session. All code was reviewed line-by-line and tested end-to-end by me on the setups described above.The humble human has 30+ years experience in programming and computing, but not in these languages. Claude was a "Rosetta Stone" to turn my idea and pseudocode into something workable.
🤖 Generated with Claude Code