Commit graph

1127 commits

Author SHA1 Message Date
SimonHung
9037527d2a
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (538 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-04-11 22:25:36 -04:00
Damontecres
2a9f8a27af
Fix formatting 2026-04-11 13:40:20 -04:00
idezentas
acf4eab1d9
Translated using Weblate (Turkish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-04-10 18:56:49 +00:00
Outbreak2096
89dc42871e
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (538 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-04-10 18:56:49 +00:00
Chosnuk
1f7b7c8b24
Translated using Weblate (Polish)
Currently translated at 55.0% (296 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
2026-04-10 18:56:49 +00:00
Priit Jõerüüt
9a4bf6eaa8
Translated using Weblate (Estonian)
Currently translated at 100.0% (538 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-04-10 18:56:49 +00:00
danpergal84
e18a4ebfe2
Translated using Weblate (Spanish)
Currently translated at 100.0% (538 of 538 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-04-10 18:56:49 +00:00
idezentas
7718eca0c4
Translated using Weblate (Turkish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-04-10 18:56:49 +00:00
Alan700
a8a906b81f
Translated using Weblate (French)
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-04-10 18:56:49 +00:00
Outbreak2096
a5a0d3f349
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-04-10 18:56:49 +00:00
Alan700
cadbf04b4f
Translated using Weblate (French)
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-04-10 18:56:49 +00:00
danpergal84
c539ba1bf6
Translated using Weblate (Spanish)
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-04-10 18:56:49 +00:00
Codeberg Translate
c2b620f15a
Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/
2026-04-10 18:56:49 +00:00
SimonHung
a700b37007
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.2% (530 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-04-10 18:56:49 +00:00
SimonHung
4e63f528fa
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (534 of 534 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-04-10 18:56:49 +00:00
lednurb
9674f8e8b5
Translated using Weblate (Dutch)
Currently translated at 90.9% (483 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2026-04-10 18:56:49 +00:00
Priit Jõerüüt
1e1af85196
Translated using Weblate (Estonian)
Currently translated at 100.0% (531 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-04-10 18:56:49 +00:00
North-DaCoder
90ef9fda2e
Translated using Weblate (German)
Currently translated at 100.0% (531 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-04-10 18:56:49 +00:00
idezentas
664e7edb12
Translated using Weblate (Turkish)
Currently translated at 100.0% (531 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-04-10 18:56:49 +00:00
lednurb
d4f1de461d
Translated using Weblate (Dutch)
Currently translated at 90.9% (483 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2026-04-10 18:56:49 +00:00
arcker95
a442fd21b8
Translated using Weblate (Italian)
Currently translated at 100.0% (531 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-04-10 18:56:49 +00:00
danpergal84
cae9f8d25d
Translated using Weblate (Spanish)
Currently translated at 100.0% (531 of 531 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-04-10 18:56:49 +00:00
Codeberg Translate
f53b0dd507
Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/
2026-04-10 18:56:49 +00:00
jbrek
7f1ccc6146
Translated using Weblate (Thai)
Currently translated at 98.8% (524 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/th/
2026-04-10 18:56:48 +00:00
jbrek
278d2cc3e6
Translated using Weblate (Thai)
Currently translated at 29.2% (155 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/th/
2026-04-10 18:56:48 +00:00
opakholis
ac0e42320f
Translated using Weblate (Indonesian)
Currently translated at 100.0% (530 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-04-10 18:56:48 +00:00
jbrek
9e2df5660a
Added translation using Weblate (Thai) 2026-04-10 18:56:48 +00:00
idezentas
81a0ae39f0
Translated using Weblate (Turkish)
Currently translated at 100.0% (530 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-04-10 18:56:48 +00:00
Chosnuk
d055ba4ab4
Translated using Weblate (Polish)
Currently translated at 49.8% (264 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
2026-04-10 18:56:48 +00:00
lednurb
ffb7293368
Translated using Weblate (Dutch)
Currently translated at 91.1% (483 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2026-04-10 18:56:48 +00:00
Pwnisher
36d2926ff7
Translated using Weblate (Romanian)
Currently translated at 63.9% (339 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/ro/
2026-04-10 18:56:48 +00:00
Outbreak2096
97690bdb7b
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (530 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-04-10 18:56:48 +00:00
Chosnuk
bfbcfe9678
Translated using Weblate (Polish)
Currently translated at 48.8% (259 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
2026-04-10 18:56:48 +00:00
lednurb
a29cdae0a4
Translated using Weblate (Dutch)
Currently translated at 74.3% (394 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nl/
2026-04-10 18:56:48 +00:00
arcker95
32258407df
Translated using Weblate (Italian)
Currently translated at 100.0% (530 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-04-10 18:56:48 +00:00
opakholis
0f165d1dbf
Translated using Weblate (Indonesian)
Currently translated at 95.8% (508 of 530 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-04-10 18:56:48 +00:00
Ray
97e10f57ca
Few UI improvments & fixes (#1229)
## Description
- Add indicator to mark the chosen version on the choose version dialog
- Add an option for album's context menu to add it to the now playing
queue
- Fix how season cards refresh on the series detail page so the images
don't glitch

### Related issues
Related to #1220

### Testing
Emulator mostly

## Screenshots

The indicator shows which version will play, whether explicitly chosen
by the user or implicitly picked by Wholphin.
![choose_version_indicator
Large](https://github.com/user-attachments/assets/7440ee1a-b9eb-4b34-ac39-86206c2eca09)

## AI or LLM usage
None
2026-04-10 14:56:43 -04:00
Ray
ff37eff27d
Update rennovate settings (#1217)
## Description
Ignore dependencies from `wholphin-extensions` & the Jellyfin SDK. These
dependencies should be updated manually.

### Related issues
N/A

### Testing
N/A

## Screenshots
N/A

## AI or LLM usage
None
2026-04-09 14:42:30 -04:00
renovate[bot]
6aa28e22da
fix(deps): update dependencies to v14 (major) (#1208) 2026-04-07 16:12:39 -04:00
renovate[bot]
c968c07d0b
fix(deps): update dependencies to v0.40.2 (#1202) 2026-04-07 16:12:10 -04:00
Ray
4eabaa9a52
Add option to remove item from Continue Watching and Next Up rows (#1140)
## Description
Adds context menu options for "Remove from continue watching" and
"Remove series from next up"

### Remove from continue watching

This marks the item as unplayed so it will not be shown on the Continue
Watching row anymore. It may still show on a Next Up or combined row
though.

### Remove series from next up

This first does the same as "Remove from continue watching" above. But
it also stores the series' ID in your display preferences as removed.
Wholphin will filter out this series from appearing in the Next Up row
until you watch _any_ episode in the series in the future.

This only works for Wholphin clients!

There's a dialog to view which series have been removed and to re-add
them manually. Settings->Customize Home->Settings->View removed next up

### Related issues
Closes #906

### Testing
Mostly emulator testing

## Screenshots

## AI or LLM usage
None
2026-04-07 16:04:21 -04:00
Ray
ade564d907
Add studio tab & filtering to TV show libraries (#1211)
## Description
Adds a tab for Studios (TV networks) to TV libraries. This displays a
grid of all of the studios. Clicking one displays the series produced by
the studio.

Additionally, adds a filter to the library tab to filter by studio. You
can select multiple studios, but its not the best UX since there will
likely be many studios (I have almost 200).

Finally, you can add a home row for studios in a library.

### Related issues
Closes #1002

### Testing
Mostly manual testing via emulator

## Screenshots
### Studios tab for a library
![studios_grid
Large](https://github.com/user-attachments/assets/d51e6d20-3768-4bd5-8a09-45cd491064b2)
### Filter drop down for studios
![filter_by_studios
Large](https://github.com/user-attachments/assets/7dbd4c13-4194-4674-b272-d42257368ce2)
### Updates series details
Shows the studio above the genres
![series_details_studio
Large](https://github.com/user-attachments/assets/745caa9b-838c-4e8b-b0f8-69d5f316287a)


## AI or LLM usage
None
2026-04-07 16:03:58 -04:00
Ray
edaf06afd0
Show music video watch status on artist & album pages (#1209)
## Description
Show the watched indicator and favorite icon on music videos on both the
artist or album detail pages.

### Related issues
Fixes #1206 

### Testing
Quick emulator testing

## Screenshots
N/A, same indicators as the rest of the app

## AI or LLM usage
None
2026-04-06 18:17:04 -04:00
Damontecres
ac13ce5713
Fix globstar quoting 2026-04-06 18:02:42 -04:00
Damontecres
bc5bd2f852
Enable globstar 2026-04-06 17:06:02 -04:00
Ray
31465051ff
Dev: use build product flavors for app store release (#1205)
## Description
Instead of applying a code patch, this PR uses build time [product
flavors](https://developer.android.com/build/build-variants#product-flavors)
to define the existing default and an app store variant. This is more
robust than maintaining a patch file and making sure it is applied
before building.

The app store variant applies the same code changes (removing install
permission, requiring leanback, & setting `UpdateChecker.ACTIVE`), but
via manifest placeholders/merging and `BuildConfig` entries.

There are no user facing changes.

### Related issues
None

### Testing
Built the variants and verified manifest changes via aapt

## Screenshots
N/A

## AI or LLM usage
None
2026-04-06 15:24:20 -04:00
Ray
9a3af225a4
View more discover results (#1198)
## Description
Adds a card at the end of the rows on the discover page/tab to view more
results. When clicking this card, it goes to a grid view of more results
starting focused on the next one.

### Dev notes

This PR modifies `ApiRequestPager` to move most of its functionality
into an abstract class, `RequestPager`. And then add a new concrete
class, `DiscoverRequestPager`, for Seerr API paging. `ApiRequestPager`
remains for Jellyfin paging.

### Related issues
Related to #1035

### Testing
Emulator

## Screenshots

![discover_view_more
Large](https://github.com/user-attachments/assets/180aa7a5-45c3-4544-b3f8-e3d394859178)
![discover_grid
Large](https://github.com/user-attachments/assets/ae5e8fbf-0fa4-4a2e-96ac-629ae688c05d)

## AI or LLM usage
None
2026-04-06 13:18:55 -04:00
Leon Omelan
1366ee744d
perfomance: Reduce recompositions in SeriesOverviewContent when navigating (#1185)
<!-- By submitting this pull request, you acknowledge that you have read
the [contributing
guide](https://github.com/damontecres/Wholphin/blob/main/CONTRIBUTING.md,
including the AI/LLM policy, and [developer's
guide](https://github.com/damontecres/Wholphin/blob/main/DEVELOPMENT.md)
-->

## Description
<!-- Describe the changes in detail -->
Make alpha channel and background change in Banner Card more
recomposition friendly.

Split from #1152

### Related issues
<!-- If this is a new feature or a change, there must be a discussion in
an issue first, reference the issue here -->
<!-- If fixing a bug, reference the bug issue here, or describe the bug,
including steps to reproduce -->

### Testing
<!-- Describe how this change was tested and on what device(s) -->
Tested on a emulator
It's observed when moving from TV series episode card to EpisodeFooter
and back
## Screenshots
<!-- Please include screenshots if the PR alters any UI elements -->
| Pre | Post |
|--------|--------|
| <img width="395" height="152" alt="Screenshot 2026-04-02 at 08 41 40"
src="https://github.com/user-attachments/assets/b6554425-8af5-4e29-a866-3e4f6a7be473"
/> | <img width="406" height="296" alt="Screenshot 2026-04-02 at 08 44
56"
src="https://github.com/user-attachments/assets/511fc6df-c860-47eb-aec8-57c400dba83c"
/> |


## AI or LLM usage
<!-- If you used any AI or LLM assistance, please list where in the code
and how you tested it -->
Gemini in AS was used for repetitive code completion
2026-04-06 11:23:54 -04:00
Leon Omelan
5ab4bb712b
performance: reduce recompositons in PersonCard and SeasonCard (#1184)
<!-- By submitting this pull request, you acknowledge that you have read
the [contributing
guide](https://github.com/damontecres/Wholphin/blob/main/CONTRIBUTING.md,
including the AI/LLM policy, and [developer's
guide](https://github.com/damontecres/Wholphin/blob/main/DEVELOPMENT.md)
-->

## Description
<!-- Describe the changes in detail -->
related docs:
https://developer.android.com/develop/ui/compose/performance/bestpractices#defer-reads
Removed setting padding with animated value, instead moved to lambda
offset and layout modifiers to increase performance and reduce
recompositions when focusing those cards

Split from #1152

### Related issues
<!-- If this is a new feature or a change, there must be a discussion in
an issue first, reference the issue here -->
<!-- If fixing a bug, reference the bug issue here, or describe the bug,
including steps to reproduce -->

### Testing
<!-- Describe how this change was tested and on what device(s) -->
Tested on a emulato
## Screenshots
<!-- Please include screenshots if the PR alters any UI elements -->
|Component | Pre | Post |
|---|--------|--------|
|Person Card|<img width="404" height="366" alt="Screenshot 2026-04-02 at
08 19 18"
src="https://github.com/user-attachments/assets/73b38c75-040b-401e-88d6-4bfc9ffc0cc9"
/> | <img width="407" height="346" alt="Screenshot 2026-04-02 at 08 22
06"
src="https://github.com/user-attachments/assets/add473f7-dea6-4e33-97b8-6954149a81e2"
/> |
|Season Card| <img width="404" height="341" alt="Screenshot 2026-04-02
at 08 18 31"
src="https://github.com/user-attachments/assets/eec594ee-6701-4f99-8fb3-339ed8559ec4"
/> |<img width="408" height="299" alt="Screenshot 2026-04-02 at 08 24
06"
src="https://github.com/user-attachments/assets/8de445a6-dcb8-4c7e-a5f6-a25bf822c822"
/> |



## AI or LLM usage
<!-- If you used any AI or LLM assistance, please list where in the code
and how you tested it -->
Gemini in AS was used for repetitive code completion
2026-04-06 10:11:01 -04:00
Ray
44d1ac484f
Refactor movie page to use use state flow (#1183)
## Description
Refactors the movie page & view model to use a `StateFlow` instead of
many `LiveData` objects. This is in keeping with best practices.

There are no user facing changes.

### Related issues
None

### Testing
Emulator

## Screenshots
N/A

## AI or LLM usage
None
2026-04-03 12:44:59 -04:00