Ray
80670c3e0f
Support requesting 4k media in discover ( #685 )
...
## Description
If the server support it and the user has permission, allows for
requesting 4K media
### Related issues
A follow up to #558
2026-01-12 21:55:50 -05:00
Ray
4c7c465c67
Add integration with Jellyseerr/Seerr ( #558 )
...
## Description
This PR add the ability to integrate with a [Jellyseerr/Seerr
server](https://github.com/seerr-team/seerr ).
### Features
- Login to the Seerr server using API Key, Jellyfin credentials, or
local Seerr credentials
- Separate Seerr logins per user profile
- Search Seerr from the search page
- Discover media from Seerr on the nav drawer `Discover` page
- Also from movie, series, or person pages
- Seamless integration with existing media, i.e. selecting media found
from Seerr that already exists on the Jellyfin server, will go directly
to the regular media page
- Mostly consistent UI between Jellyfin media & Seerr media
- Submit requests to Seerr
- Cancel submitted requests
### Screenshots

### Related issues
Closes #54
## Acknowledgements
The `app/src/main/seerr/seerr-api.yml` file is copied & modified from
https://github.com/seerr-team/seerr/blob/develop/seerr-api.yml . I hope
to try to upstream some of the changes in the future.
2026-01-12 16:35:27 -05:00
Ludovico de Nittis
197265e7f5
Add option to always direct play Dolby Vision Profile 7 ( #670 )
...
## Description
A few devices, like the Nvidia Shield Pro 2019, are able to correctly
handle Dolby Vision Profile 7. However, when a Full Enhancement Layer
(FEL) is present, these devices effectively ignore the enhancement layer
and only apply the RPU metadata.
Due to this behavior, device capabilities are reported as not supporting
`DOVIWithEL`, which causes the Jellyfin server to strip the DV layer
entirely with a remux.
This commit adds an option to force direct play of Dolby Vision Profile
7 content, preventing the server from stripping the Dolby Vision layer
and allowing compatible devices to handle playback as intended.
### Related issues
Fixes https://github.com/damontecres/Wholphin/issues/449
### Screenshots
<img width="1280" height="720" alt="dovi7"
src="https://github.com/user-attachments/assets/849e9897-93b6-419f-a1fb-7f361f9c88dd "
/>
### AI/LLM usage
None
Co-authored-by: Ray <154766448+damontecres@users.noreply.github.com>
2026-01-11 21:11:25 -05:00
Justin Caveda
ed67e5575f
Add "Only Forced Subtitles" option to subtitle selection ( #589 )
...
## Description
Adds a client-side "Only Forced Subtitles" option when selecting
subtitles, per the discussion in #571 .
### Changes
- **TrackIndex.ONLY_FORCED** (`-3`): New constant for the special case
- **StreamChoiceService**: Intercepts `ONLY_FORCED` at the top of
`chooseSubtitleStream()` before server-side `SubtitlePlaybackMode` logic
(which remains untouched)
- **UI**: Adds "Only Forced Subtitles" option to both:
- In-player subtitle menu (`PlaybackDialog.kt`)
- Pre-playback stream selection dialog (`Dialogs.kt`)
### Forced track detection
Uses metadata `isForced` flag as primary check, with title-based
fallback ("forced", "signs", "songs" patterns) when language matches
audio.
### Related issues
Closes #571
### Screenshots
N/A - subtitle selection menu only
### AI/LLM usage
Used Claude Code for assistance and to draft PR description.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Damontecres <damontecres@gmail.com>
2026-01-11 13:11:39 -05:00
Ray
8bdc8a6f8f
Consistent audio/subtitle info across dialogs ( #664 )
...
## Description
Makes the labels for audio & subtitle stream consistent across the app
The More->Choose dialogs now highlight which track is currently choosen.
Also uses more of the brand names for audio codecs (eg DD+) and allows
for these to be translated into other languages.
### Related issues
Closes #621
Fixes #668
Related to
https://github.com/damontecres/Wholphin/issues/528#issuecomment-3678876207 ,
I adjusted the background & selection colors of the dialogs during
playback
### Screenshots
#### Choose subtitles from More dialog

#### Choose subtitles during playback

#### Choose audio

2026-01-11 12:46:38 -05:00
Ray
02d6a98ba8
More subtitle selection fixes ( #630 )
...
## Description
Fixes more subtitle selection issues, primarily fixes the sort order of
subtitle streams. But also prefer default subtitle in some cases
Adds test cases for the described situations below
Also adds an option in the More dialog to clear track selections made on
an item/series.
### Related issues
Addresses
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707255647
&
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707292928
2026-01-04 17:06:54 -05:00
Ray
0fe8e5d988
Show button for trailers instead of card row ( #618 )
...
## Description
On both movie & series detail pages, show a button to play trailers
instead of the row of cards below.
The button works like this:
- If no trailers, the button shows "No trailers" and is
disabled/non-clickable
- If only a single trailer, the button shows "Play trailer" and clicking
it plays the trailer
- Otherwise, shows "Trailers" and clicking displays a dialog to choose
one
Local trailers are shown first in the list. Then there is an attempt to
sort the trailers for the dialog so that names with "Official Trailer"
or "Official Theatrical Trailer" are listed first and "Teaser" is listed
last. This isn't perfect and doesn't work for non-English, but there's
no other metadata to use.
### Related issues
Closes #408
2026-01-02 13:50:45 -05:00
Ray
d15ffa13b8
Merge pull request #602 from damontecres/translations-2025-12-30
...
Translations as of 2025-12-30
2026-01-01 15:07:46 -05:00
Ray
26a913b05e
Support resolution switching ( #597 )
...
## Description
Adds a settings for automatic resolution switching. When enabled, the
app tries to output content at the video stream's resolution.
For example, if playing 1080p content on a 4K TV, the actual output by
the Android TV device will be 1080p.
This works in hand-in-hand with automatic refresh rate switching. So
enabling both allows for the output to match both refresh rate and
content resolution. Outputting the best refresh rate is preferred over
best resolution.
Also, shows the current display mode in the playback debug info.
### Related issues
Closes #428
Fixes #531
2025-12-31 17:11:30 -05:00
Ray
7e5a491d8e
Allow trusting user provided SSL/TLS certificates ( #608 )
...
## Description
Allow for trusting user added certificates
### Related issues
Closes #254
2025-12-31 14:13:07 -05:00
Damontecres
2b68b91d9e
Fix invalid string characters
2025-12-30 13:49:20 -05:00
lazigeri
b62cc84bf9
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
bad567f2bb
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
d2e8440a03
Translated using Weblate (Chinese (Traditional Han script))
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
lazigeri
0e0e0b12eb
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
716d81f0d2
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
b9a4bbd3f3
Translated using Weblate (Chinese (Traditional Han script))
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
jab3
f463e707cc
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
butterflyoffire
ab9dbed022
Translated using Weblate (Kabyle)
...
Currently translated at 14.9% (47 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/kab/
2025-12-29 20:39:11 +00:00
butterflyoffire
1c92934b33
Added translation using Weblate (Kabyle)
2025-12-29 20:39:11 +00:00
opakholis
5a8dc23989
Translated using Weblate (Indonesian)
...
Currently translated at 97.7% (308 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2025-12-29 20:39:11 +00:00
oyvhov
c74c40dfd8
Translated using Weblate (Norwegian Nynorsk)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:11 +00:00
lazigeri
f240498aaa
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
texxlan
8f923c187f
Translated using Weblate (German)
...
Currently translated at 87.9% (277 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
a2e72ddf45
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
jab3
5c9ca3b24a
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
texxlan
295faf51aa
Translated using Weblate (German)
...
Currently translated at 77.1% (243 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
6af8204402
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
OmriKumri
dda8baa46d
Translated using Weblate (Hebrew)
...
Currently translated at 10.7% (34 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
OmriKumri
6f5e0d82d1
Translated using Weblate (Hebrew)
...
Currently translated at 6.6% (21 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
RabSsS
6cb320c43f
Translated using Weblate (French)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-29 20:39:11 +00:00
Outbreak2096
a2535b098d
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-29 20:39:11 +00:00
adambibor
aad81f85c9
Translated using Weblate (Hungarian)
...
Currently translated at 99.3% (313 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
8ee6b9d8b5
Translated using Weblate (Hungarian)
...
Currently translated at 99.3% (313 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
arcker95
3cd26759f4
Translated using Weblate (Italian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-29 20:39:11 +00:00
Priit Jõerüüt
0ccdf391de
Translated using Weblate (Estonian)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-29 20:39:11 +00:00
American_Jesus
8d4fcb377d
Translated using Weblate (Portuguese)
...
Currently translated at 100.0% (315 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-29 20:39:11 +00:00
lazigeri
dfa1ba079c
Translated using Weblate (Hungarian)
...
Currently translated at 81.5% (257 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
ff8a9a7125
Translated using Weblate (Hungarian)
...
Currently translated at 78.7% (248 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
225b3c0455
Translated using Weblate (German)
...
Currently translated at 76.8% (242 of 315 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
SimonHung
1289bed0c4
Translated using Weblate (Chinese (Traditional Han script))
...
Currently translated at 88.5% (278 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
955d577624
Translated using Weblate (Norwegian Nynorsk)
...
Currently translated at 100.0% (314 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00
SimonHung
76db702564
Translated using Weblate (Chinese (Traditional Han script))
...
Currently translated at 87.2% (274 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
dbe8074997
Translated using Weblate (Norwegian Nynorsk)
...
Currently translated at 8.2% (26 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00
Outbreak2096
05fffe63a2
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (314 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-29 20:39:10 +00:00
arcker95
7930b1d4d0
Translated using Weblate (Italian)
...
Currently translated at 100.0% (314 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-29 20:39:10 +00:00
American_Jesus
ca3c5e8de9
Translated using Weblate (Portuguese)
...
Currently translated at 100.0% (314 of 314 strings)
Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-29 20:39:10 +00:00
Ray
11dda19b8a
TV Guide UI followup to #517 ( #521 )
...
## Description
- Instead of just replacing newline characters, collapse white-space
into single space characters which is roughly how the web UI does it
with CSS's `white-space: nowrap;`
- Use an actual arrow indicator instead of a `<` character for when a
program begins before the guide start
### Related issues
#517
https://github.com/damontecres/Wholphin/issues/434
https://github.com/damontecres/Wholphin/issues/435
https://github.com/damontecres/Wholphin/issues/436
### Screenshots
<img width="605" height="316" alt="image"
src="https://github.com/user-attachments/assets/6a5227b5-9960-4c6d-a086-a4a9867ea60b "
/>
2025-12-20 14:47:28 -05:00
Amar Sandhu
fd260f2709
Add "Ends at" time display. ( #475 )
...
Addresses #441 .
---------
Co-authored-by: Damontecres <damontecres@gmail.com>
2025-12-18 15:52:27 -05:00
Ray
8c0defb772
Add translations as of 2025-12-17 ( #495 )
...
Adds another batch of translated strings.
Thank you to all of the contributors!
---------
Co-authored-by: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
Co-authored-by: ymir <ymir@noreply.codeberg.org>
Co-authored-by: ianvm <ianvm@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: Outbreak2096 <outbreak2096@noreply.codeberg.org>
Co-authored-by: American_Jesus <american_jesus@noreply.codeberg.org>
Co-authored-by: Vistaus <vistaus@noreply.codeberg.org>
Co-authored-by: Geekice <geekice@noreply.codeberg.org>
Co-authored-by: opakholis <opakholis@noreply.codeberg.org>
Co-authored-by: RabSsS <rabsss@noreply.codeberg.org>
Co-authored-by: arcker95 <arcker95@noreply.codeberg.org>
Co-authored-by: Rand0mB0y <rand0mb0y@noreply.codeberg.org>
Co-authored-by: SimonHung <simonhung@noreply.codeberg.org>
Co-authored-by: efko <efko@noreply.codeberg.org>
Co-authored-by: DragoWing <dragowing@noreply.codeberg.org>
Co-authored-by: oyvhov <oyvhov@noreply.codeberg.org>
2025-12-17 17:01:08 -05:00