Commit graph

789 commits

Author SHA1 Message Date
Damontecres
7345b04061
Fix crash 2026-01-30 17:52:41 -05:00
Damontecres
8c33738e31
Merge branch 'main' into fea/customize-home 2026-01-30 17:04:57 -05:00
Ray
ea414929db
Merge pull request #801 from damontecres/translations-2026-01-30
Translations 2026-01-30
2026-01-30 17:03:31 -05:00
voc0der
1bffa413a2
Fix Seerr Local/Jellyfin authentication and request permissions (#734)
## Description
When using LOCAL or JELLYFIN authentication methods to connect to Seerr,
the login flow was not properly establishing session cookies and user
permissions. The login would 'succeed' and you were led to thinking it
worked, but then...

This caused:
- Request functionality to be greyed out even though the user should
have access
- Users to appear to have no permissions after login (permissions=0)

## Solution
This PR fixes the authentication flow by:

**Fetching full user config after login**: For LOCAL and JELLYFIN
auth methods, the login endpoints (`authLocalPost()` and
`authJellyfinPost()`) establish the session cookie but return incomplete
user data. This PR now calls `authMeGet()` immediately after login to
fetch the fully-populated user configuration including proper
permissions.

## Tests
- Have working apk on my dev fork.
- Ran logins as Local + API. Cannot test Jellyfin due to environment,
but codewise, it looks correct.

## Related issues
Related to https://github.com/damontecres/Wholphin/issues/747


---------

Co-authored-by: Ray <154766448+damontecres@users.noreply.github.com>
2026-01-30 16:16:39 -05:00
Ray
3ada35c731
Fix error reporting & crash during Jellyseerr login (#802)
## Description
Makes sure the invalid credentials error is propagated up instead of
displaying "No URL" as the error message.

Makes sure `OkHttp` is initialized since the startup initialization
provider is disabled. This fixes a possible crash if `OkHttp` needs to
access its assets.

Also, shows the URL when removing the Jellyseerr server.
2026-01-30 16:15:35 -05:00
Ckau
853c224b61
Translated using Weblate (Russian)
Currently translated at 85.6% (310 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/ru/
2026-01-30 16:34:17 +00:00
Sathen
cb9eab2aa5
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/uk/
2026-01-30 16:34:17 +00:00
ymir
f64c9d2e73
Translated using Weblate (French)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-01-30 16:34:17 +00:00
American_Jesus
1ac6c9366b
Translated using Weblate (Portuguese)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2026-01-30 16:34:17 +00:00
Sk4hnt42
2f19003dd9
Translated using Weblate (German)
Currently translated at 88.9% (322 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-30 16:34:17 +00:00
Lorixx
aae7a64cc4
Translated using Weblate (German)
Currently translated at 88.9% (322 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-30 16:34:17 +00:00
viretius
d260791e62
Translated using Weblate (German)
Currently translated at 88.9% (322 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-30 16:34:17 +00:00
Priit Jõerüüt
1d11eab48d
Translated using Weblate (Estonian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-01-30 16:34:17 +00:00
Fjuro
e632c76ff2
Translated using Weblate (Czech)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-01-30 16:34:17 +00:00
arcker95
8bf3c48a12
Translated using Weblate (Italian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-30 16:34:17 +00:00
Outbreak2096
c714afeb3b
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-01-30 16:34:17 +00:00
veisen
82744322e9
Translated using Weblate (Czech)
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-01-30 16:34:17 +00:00
Sathen
b083bea4bd
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/uk/
2026-01-30 16:34:17 +00:00
veisen
1d5afa7809
Translated using Weblate (Czech)
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-01-30 16:34:17 +00:00
viretius
b189720be5
Translated using Weblate (German)
Currently translated at 85.3% (308 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-01-30 16:34:17 +00:00
Sathen
d2826d21f7
Added translation using Weblate (Ukrainian) 2026-01-30 16:34:17 +00:00
SimonHung
a99b54bc49
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-01-30 16:34:17 +00:00
arcker95
ff7e9517e9
Translated using Weblate (Italian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-01-30 16:34:16 +00:00
opakholis
a48acd5d1c
Translated using Weblate (Indonesian)
Currently translated at 100.0% (361 of 361 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-01-30 16:34:16 +00:00
Ray
003fe8348c
Improve series overview loading speed (#800)
## Description
Improves loading speed for the series overview page (one with list of
episodes). This is mostly accomplished by querying for the cast/crew in
the episodes on demand instead of during the initial query.

Also stops using the date as a replacement for the episode index. Using
this caused an extra unnecessary (long) query.

Going from home to the 109th of a 230 episode season is ~2x faster with
this change on my test server.


### Related issues
Closes #599
2026-01-30 11:34:12 -05:00
Damontecres
bec833b0e8
Move code into coroutines 2026-01-30 10:30:39 -05:00
Damontecres
8437ddb51d
Load from web client 2026-01-29 19:49:01 -05:00
Damontecres
d3448771c8
More consistent titles 2026-01-29 19:35:42 -05:00
Damontecres
fb891799c7
Backdrops for genre cards 2026-01-29 18:30:18 -05:00
Damontecres
7e53f95054
Focus improvements 2026-01-29 18:13:32 -05:00
Justin Caveda
e7ed173692
Fix(player): add exoplayer fallback for all 4k playback when MPV software decoding is enabled (#761)
## Description
Updates the logic in the Prefer MPV setting to prevent performance
issues when software decoding is selected. When the MPV backend is
configured to use software decoding, the app will now automatically
fallback to ExoPlayer for 4K content. Most Android TV devices cannot
smoothly render 4K video via software decoding, so falling back to
Exoplayer for this content makes sense in most cases when using the
software renderer. This mirrors the existing fallback mechanism used for
HDR content.

### Related issues
N/A

### Screenshots
N/A

### AI/LLM usage
None

---------

Co-authored-by: Ray <154766448+damontecres@users.noreply.github.com>
2026-01-29 17:11:13 -05:00
Damontecres
43fde88695
Disable discover & use different settings for genre rows 2026-01-29 16:56:11 -05:00
Damontecres
44a08f27c1
Add toggle for using series image 2026-01-29 16:29:52 -05:00
Damontecres
b73900b698
Move some settings to new page 2026-01-29 16:03:27 -05:00
Damontecres
f315531db7
Save/load from server 2026-01-29 15:49:25 -05:00
Damontecres
e11b9ecc72
Scroll to new rows 2026-01-29 15:19:33 -05:00
Damontecres
75183802e7
Use navigation 2026-01-29 14:57:50 -05:00
Damontecres
01bdf2cefa
Merge branch 'main' into fea/customize-home 2026-01-29 14:27:19 -05:00
Ray
abd8235556
Temporarily restore ExoPlayer as the default player (#797)
## Description
Due a few more MPV bugs showing up, this PR reverts the part of #736
that made "Prefer MPV" the default player option.

User can still manually switch to "Prefer MPV" and its full functional
remains. It's just not set to be the default anymore.
2026-01-29 14:27:01 -05:00
Ray
fa51d1e61e
Bump dependency versions (#796)
## Description
Bumps dependency versions.

AGP (and hilt by extension) are not yet updated cause moving to AGP 9
has many breaking changes and I think one or two may affect the build
scripts.

Also, one day I will add Renovate to automate these PRs.
2026-01-29 14:26:54 -05:00
Justin Caveda
b3ef60f86d
Feat(ui): Add drop shadow to UI dialogs (#678)
## Description
Adds a subtle drop shadow to dialog containers in Dialogs.kt. Should
make the dialogs pop a bit more instead of looking flat.

### Related issues
Fixes #665

### Screenshots

Before:

<img width="1950" height="1123" alt="before1"
src="https://github.com/user-attachments/assets/b3cba7b2-108c-4afe-94ef-474943a6cccf"
/>


After:
<img width="1952" height="1133" alt="after"
src="https://github.com/user-attachments/assets/ff9aaf50-e122-4e27-bae1-e981f257fd4c"
/>



### AI/LLM usage
None

---------

Co-authored-by: Ray <154766448+damontecres@users.noreply.github.com>
2026-01-29 13:32:00 -05:00
Ray
792d3598b7
Fix a few discover UI bugs (#795)
## Description
Just fixes a couple small UI issues on the discover/seerr pages
2026-01-29 13:31:51 -05:00
Ray
f787e9ce1a
Better smart subtitles with no preferred audio language (#789)
## Description
Another small fix to smart subtitle track selection to better handle the
cases where the user does not have a preferred audio language.

### Related issues
Addresses issue raises in
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3714629517
2026-01-28 13:56:33 -05:00
Damontecres
5975302fb9
Allow app to install on external storage #733 2026-01-28 13:56:20 -05:00
Damontecres
9cd3e7df4e
WIP live tv home rows 2026-01-28 10:30:11 -05:00
Damontecres
ccb79257fd
Add row for favorite items 2026-01-27 13:40:44 -05:00
Damontecres
d99c947068
Merge branch 'main' into fea/customize-home 2026-01-27 11:47:22 -05:00
Ray
e93100c788
Fixes & improvements to Jellyseer integration (#783)
## Description
Fixes several bugs and makes it easier to log in to a Jellyseer instance

- Fix initial focus & next focus on the add server dialog
- Don't use an API key for non-API key auth (credit to @voc0der in #734
for suggesting this)
- Show trailers for TV shows
- Fix incorrect/missing similar and recommended rows for both movies &
TV shows
- Allow empty password for Jellyfin users without a password

Log in will now try variations of the input URL such as add the protocol
and/or default port. This is similar to the regular Jellyfin login
process.

### Related issues
Fixes #778
Fixes #750
Fixes #740
Might help with #747
Fixes
https://github.com/damontecres/Wholphin/issues/764#issuecomment-3801324648
2026-01-27 11:44:56 -05:00
Ray
3428f2b208
Fixes possible crash if a home row is removed (#779)
## Description
Fixes a possible crash if a row on the home page is removed.

This could potentially happen if you only have one thing on the resume
row and watch it by accessing it from the bottom row.
2026-01-26 16:34:50 -05:00
Ray
7c985ae2ac
Fixes not requiring PIN if the app is forced closed (#773)
## Description
Checks if a PIN is needed when restoring the previous session

### Related issues
Addresses
https://github.com/damontecres/Wholphin/issues/321#issuecomment-3797445005
2026-01-26 15:07:27 -05:00