Skip to content

Fix recording from playback overlay, passing programId to default gettimer#5396

Merged
nielsvanvelzen merged 1 commit intojellyfin:masterfrom
WizardOfYendor1:fix/pass-programid-to-timer-defaults
Feb 12, 2026
Merged

Fix recording from playback overlay, passing programId to default gettimer#5396
nielsvanvelzen merged 1 commit intojellyfin:masterfrom
WizardOfYendor1:fix/pass-programid-to-timer-defaults

Conversation

@WizardOfYendor1
Copy link
Contributor

@WizardOfYendor1 WizardOfYendor1 commented Feb 6, 2026

The playback overlay's recordProgram() calls getDefaultTimer() without passing the programId, causing the server to return DateTime.MinValue for StartDate/EndDate. The Kotlin SDK then mangled these into year-0000 dates that the server rejected with HTTP 400 (separate issue).

Pass program.id to getDefaultTimer() so the server returns real dates from the EPG program data. This matches how LiveProgramDetailPopupHelper already does it correctly https://github.com/jellyfin/jellyfin-androidtv/blob/master/app/src/main/java/org/jellyfin/androidtv/ui/LiveProgramDetailPopupHelper.kt#L95-L100

Changes
Added the programid to the getDefaultTImer call. Remove the unnecessary copy in the subsequent isSeries block.

Code assistance
Opus 4.6 was used to aide in researching/debugging and making some of these changes. Extra scrutiny suggested.

Issues
jellyfin/jellyfin#16190
#4371

@WizardOfYendor1 WizardOfYendor1 marked this pull request as draft February 6, 2026 23:43
@WizardOfYendor1 WizardOfYendor1 marked this pull request as ready for review February 7, 2026 16:11
@WizardOfYendor1 WizardOfYendor1 force-pushed the fix/pass-programid-to-timer-defaults branch from 0227dc6 to e9e0cff Compare February 12, 2026 01:43
Copy link
Member

@nielsvanvelzen nielsvanvelzen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unable to test this change but it makes sense

@nielsvanvelzen nielsvanvelzen added this to the v0.20.0 milestone Feb 12, 2026
@nielsvanvelzen nielsvanvelzen added bug Something isn't working backportable Change may be backported to a point release (remove label once cherrypicked) labels Feb 12, 2026
@nielsvanvelzen
Copy link
Member

As a sidenote: the server should NEVER send a min/max value for dates and must always return null instead. So this is is also a server issue.

@nielsvanvelzen nielsvanvelzen merged commit f6af0b8 into jellyfin:master Feb 12, 2026
6 checks passed
@WizardOfYendor1
Copy link
Contributor Author

WizardOfYendor1 commented Feb 12, 2026

As a sidenote: the server should NEVER send a min/max value for dates and must always return null instead. So this is is also a server issue.

@nielsvanvelzen I agree :-). In fact read this PR comment I have on the server side. There may also need to be a fix put into the SDK.... jellyfin/jellyfin#16191 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backportable Change may be backported to a point release (remove label once cherrypicked) bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants