Commit graph

448 commits

Author SHA1 Message Date
Priit Jõerüüt
d9362f4bf4
Translated using Weblate (Estonian)
Currently translated at 100.0% (360 of 360 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:37 +00:00
Outbreak2096
b4bbb07a7d
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (360 of 360 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:37 +00:00
arcker95
02458db48c
Translated using Weblate (Italian)
Currently translated at 100.0% (360 of 360 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:37 +00:00
SimonHung
0269c0cbce
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (360 of 360 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-19 16:39:37 +00:00
opakholis
9292c3bf34
Translated using Weblate (Indonesian)
Currently translated at 100.0% (360 of 360 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-01-19 16:39:37 +00:00
Outbreak2096
939947709d
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (342 of 342 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:37 +00:00
arcker95
03962454b7
Translated using Weblate (Italian)
Currently translated at 100.0% (342 of 342 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:37 +00:00
SimonHung
d7b68b89f3
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (342 of 342 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-19 16:39:37 +00:00
Priit Jõerüüt
8adf86c51b
Translated using Weblate (Estonian)
Currently translated at 100.0% (342 of 342 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:37 +00:00
American_Jesus
2d72e738a6
Translated using Weblate (Portuguese)
Currently translated at 100.0% (342 of 342 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2026-01-19 16:39:37 +00:00
Outbreak2096
d231dab5e5
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (341 of 341 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:37 +00:00
arcker95
fff6b537d4
Translated using Weblate (Italian)
Currently translated at 100.0% (341 of 341 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:36 +00:00
SimonHung
66bec53d5f
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 96.7% (330 of 341 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-19 16:39:36 +00:00
Priit Jõerüüt
dec734e91b
Translated using Weblate (Estonian)
Currently translated at 100.0% (341 of 341 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:36 +00:00
Priit Jõerüüt
5084fdcfbb
Translated using Weblate (Estonian)
Currently translated at 100.0% (340 of 340 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:36 +00:00
Outbreak2096
f7757459d8
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (329 of 329 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:36 +00:00
arcker95
1984f0e47a
Translated using Weblate (Italian)
Currently translated at 100.0% (329 of 329 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:36 +00:00
ymir
6f9a5e7bdc
Translated using Weblate (French)
Currently translated at 100.0% (329 of 329 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-01-19 16:39:36 +00:00
Priit Jõerüüt
111f88b929
Translated using Weblate (Estonian)
Currently translated at 100.0% (329 of 329 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:36 +00:00
Outbreak2096
3eab616bf7
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.3% (327 of 329 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:36 +00:00
arcker95
ba233d4642
Translated using Weblate (Italian)
Currently translated at 100.0% (327 of 327 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:36 +00:00
RabSsS
2ee432e812
Translated using Weblate (French)
Currently translated at 99.6% (326 of 327 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-01-19 16:39:36 +00:00
lazigeri
a2c6f12f8b
Translated using Weblate (Hungarian)
Currently translated at 100.0% (327 of 327 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
lazigeri
950ce06669
Translated using Weblate (Hungarian)
Currently translated at 99.6% (325 of 326 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
subatomic9345
b38e962633
Translated using Weblate (German)
Currently translated at 89.3% (286 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-19 16:39:36 +00:00
texxlan
3236bf5978
Translated using Weblate (German)
Currently translated at 89.3% (286 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-19 16:39:36 +00:00
oyvhov
a0eecf9917
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nb_NO/
2026-01-19 16:39:36 +00:00
Outbreak2096
4f0f8cb39d
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:36 +00:00
SimonHung
8100d0b166
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 99.6% (319 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-19 16:39:36 +00:00
arcker95
930fe834a6
Translated using Weblate (Italian)
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:36 +00:00
ymir
f0ba9da5bc
Translated using Weblate (French)
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-01-19 16:39:36 +00:00
Priit Jõerüüt
16bf015ad9
Translated using Weblate (Estonian)
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:36 +00:00
American_Jesus
68cea647f0
Translated using Weblate (Portuguese)
Currently translated at 100.0% (320 of 320 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2026-01-19 16:39:36 +00:00
lazigeri
87ac139f9f
Translated using Weblate (Hungarian)
Currently translated at 100.0% (319 of 319 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
Outbreak2096
65b0e1fdf0
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (319 of 319 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:36 +00:00
lazigeri
667008ec31
Translated using Weblate (Hungarian)
Currently translated at 100.0% (319 of 319 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
arcker95
bed45814d6
Translated using Weblate (Italian)
Currently translated at 100.0% (319 of 319 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:36 +00:00
Priit Jõerüüt
7ec36917db
Translated using Weblate (Estonian)
Currently translated at 100.0% (319 of 319 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:36 +00:00
lazigeri
05bb2d4c65
Translated using Weblate (Hungarian)
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
SimonHung
ca48d59b07
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-19 16:39:36 +00:00
Outbreak2096
8f0b620435
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-19 16:39:36 +00:00
lazigeri
a2b8ab5918
Translated using Weblate (Hungarian)
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2026-01-19 16:39:36 +00:00
arcker95
c64b09d891
Translated using Weblate (Italian)
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-19 16:39:35 +00:00
Priit Jõerüüt
449185b9c3
Translated using Weblate (Estonian)
Currently translated at 100.0% (316 of 316 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-19 16:39:35 +00:00
Ray
4dd44b935c
Add optional AV1 software decoding via dav1d for ExoPlayer (#721)
## Description
Adds the [`dav1d` decoder
module](https://github.com/androidx/media/tree/release/libraries/decoder_av1)
for ExoPlayer as an option. It can be enabled in advanced settings.

Performance will vary between devices.

### Related issues
Closes #103

### Dev notes

As with the ffmpeg module, this one is not required to build the entire
app so it's easier for developers to get started.

This also introduces a customized `DefaultRenderersFactory` for
ExoPlayer, but its largely copied from the super class's implementation.
2026-01-18 18:35:41 -05:00
Justin Caveda
d725821011
[FEAT] Add voicesearch button to search page (#637)
## Description
This PR is a rewrite of a previously submitted PR for this same feature.
It implements native Voice Search for Android TV using Android's
SpeechRecognizer API.

Key Changes

  New Files:
- VoiceInputManager.kt - Handles SpeechRecognizer lifecycle, permission
management, and audio level normalization
- VoiceSearchButton.kt - Composable button with audio-reactive pulse and
full-screen listening dialog

  UI/UX:
  - Audio-reactive microphone button that pulses based on input volume
  - Full-screen listening overlay with animated states:
- Listening - Pulsing bubble with ripple rings, shows partial
transcription
    - Processing - Animated dots while waiting for final result
- Error - Red bubble with localized error message, auto-dismisses after
3s

### Related issues
Resolves https://github.com/damontecres/Wholphin/issues/515

### AI/LLM usage
The initial draft of this change from the prior PR was created with the
assistance of Claude Code, which was heavily leaned on for the overlay.
I have taken the initial draft, gone through it, and re-implemented by
hand to clean it up, narrow the scope (AI loves to touch and change
things unrelated to what you're working on) and make it more readable.
AI was used in the last stage to assist with finding any logic
errors/bugs I may have missed (by looking through code and also by
looking over ADB logs from testing on Nvidia Shield).. AI was also used
to create the tests found in TestVoiceInputManager.kt. Lastly, I fed the
diffs to an AI to help summarize the changes for this PR in an easy to
read manner.

---------

Co-authored-by: Damontecres <damontecres@gmail.com>
2026-01-14 17:06:22 -05:00
Justin Caveda
18e4877736
Fix wrong dialog showing after Seerr login (#688)
**Description**

Fixes a race condition in the Seerr integration.

When you added a new Seerr server and logged in successfully, the app
would immediately show the "Disable Seerr?" dialog instead of a success
message. The state was getting mixed up during recomposition and
thinking you wanted to remove the server you just added.

Fixed by being more explicit about what mode the dialog is in (adding vs
removing) so it can't get confused by background state changes. Also
added a success toast when login works.

**AI/LLM usage**

Used Claude Code to analyze the issue.
2026-01-13 15:32:29 -05:00
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

![discover](https://github.com/user-attachments/assets/f830b48f-e2f1-43f4-9680-9c6d4e071765)

### 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