Commit graph

378 commits

Author SHA1 Message Date
Outbreak2096
f14514f279
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (392 of 392 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-02-20 02:51:02 +00:00
arcker95
c1bd8010b3
Translated using Weblate (Italian)
Currently translated at 100.0% (392 of 392 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-20 02:51:02 +00:00
flipip
a0cf71166c
Translated using Weblate (German)
Currently translated at 97.4% (382 of 392 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-02-20 02:51:02 +00:00
arcker95
99d2f37114
Translated using Weblate (Italian)
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-20 02:51:02 +00:00
idezentas
543e521972
Translated using Weblate (Turkish)
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-02-20 02:51:02 +00:00
Fjuro
fe9968227f
Translated using Weblate (Czech)
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-02-20 02:51:02 +00:00
arcker95
8530ba334f
Translated using Weblate (Italian)
Currently translated at 99.7% (386 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-20 02:51:02 +00:00
SimonHung
9e1e065b95
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-02-20 02:51:02 +00:00
idezentas
a114740614
Translated using Weblate (Turkish)
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-02-20 02:51:02 +00:00
Ray
65f20e2daf
Fix a few customize home bugs (#929)
## Description
Hopefully this is the last round of bug fixes for customizing the home
page!

Fixes a possible crash when scrolling after adding a row after resetting
to default or loading remote settings that have more rows than the
original settings

Fixes some incorrect titles

### Related issues
Related to #399 & #803

### Testing
Emulator & nvidia shield

## Screenshots
N/A

## AI or LLM usage
None
2026-02-19 21:50:55 -05:00
Ray
91900af7a9
Improved home page support for Live TV & Recordings (#890)
## Description
Improves home page customization for Live TV & Recordings
- Add row for live tv channels
- Add row for "on now" programs
- Clicking on a TV channel or TV program starts playback
- Better name for "Recently recorded" instead of "Recently added in
Recordings"

Also fixes a back stack issue after adding rows

### Related issues
Follow up from #803 

### Testing
Emulator

## Screenshots
<img width="663" height="190" alt="image"
src="https://github.com/user-attachments/assets/49d41953-42ab-4621-92f1-b7936aab7e97"
/>

## AI or LLM usage
None
2026-02-13 11:41:47 -05:00
Ray
fcba1c7444
Customize home page (#803)
## Description

This PR adds the ability to customize the home page in-app

### Features
- Add, remove, & reorder rows
- Persist the configuration locally
- Save the configuration to the server, allowing to pull down on other
devices
- Adjust view options for rows such as card height, image type,
preferring series images, or aspect ratio (similar to libraries)
- Pull down the web client's home rows (no plugins are supported yet!)
- Preview of the home page which is usable & updated as changes are made

### Row options

These are row types that can be added in-app via the UI:
- Continue watching
- Next up
- Combined continue waiting & next up
- Recently added in a library
- Recently released in a library
- Genres in a library
- Suggestions for a library (movie & TV show libraries only)
- Favorite movies, tv shows, episodes, etc

Additionally, there are more row types that don't have a UI to add them
(yet):
- Simple query to get items from a parent ID such as a collection or
playlist
- Complex query to get arbitrary items via the `/Items` API endpoint

### Dev notes

Settings are loaded in order:
1. Locally saved
2. Remote saved
3. Fallback to default similar to Wholphin's original home rows

The remote saved settings are stored via the display preferences API.

I know some server admins would prefer to push a default setup to their
clients. This PR does not have that ability, but it does define a
straightforward API for defining the settings. Something like the
potential server plugin work started in #625 could be slimmed down to
expose a URL to be added in the load order.

I'm also investigating integration with popular home page plugins to
allow for further customization, but will take more time.

### Related issues
Closes #399
Closes #361
Closes #282
Related to #340
2026-02-12 19:54:51 -05:00
voc0der
028553dc91
Add Quick Connect authorization to Settings (#820)
## Description
- Adding `Quick Connect` drawer to the Settings under the Seer
integration, and before Additional options.
- When interacted with, A inline-dialog appears (after internally
resetting itself), with gutter options Cancel / OK, like existing
dialogs, and when that is completed, where it completes the other side
of `Quick Connect`, e.g. login to your phone Jellyfin app by using
Wholphin.
- Failure and success both are indicated to the user and if success, it
closes the window.

### Related issues
Related to #819 
Closes #819

### Testing
Tested on development build from my repo on a Nvidia Shield 2019.
Performed several logout/login, both success and fail to observe dialog
state and function.

## AI or LLM usage
Used Claude Sonnet 4.5 for most of the code, ChatGPT, reviewed it, then
I reviewed it, made a few tweaks.
2026-02-11 20:06:03 -05:00
Damontecres
073f030d20
Fix spanish plurals 2026-02-10 15:14:08 -05:00
American_Jesus
9f2ca8ca18
Translated using Weblate (Portuguese)
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2026-02-10 19:59:42 +00:00
Outbreak2096
f539f69bb6
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (387 of 387 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-02-10 19:59:42 +00:00
Fjuro
2cfd130853
Translated using Weblate (Czech)
Currently translated at 100.0% (384 of 384 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-02-10 19:59:42 +00:00
Outbreak2096
c01235d183
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (384 of 384 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-02-10 19:59:42 +00:00
arcker95
bdebe38b60
Translated using Weblate (Italian)
Currently translated at 100.0% (384 of 384 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-10 19:59:42 +00:00
opakholis
b51052acbb
Translated using Weblate (Indonesian)
Currently translated at 100.0% (384 of 384 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-02-10 19:59:42 +00:00
Lorixx
05bc8b67d1
Translated using Weblate (German)
Currently translated at 92.1% (354 of 384 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-02-10 19:59:41 +00:00
Bliiitz
cd540c621b
Translated using Weblate (French)
Currently translated at 99.7% (382 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2026-02-10 19:59:41 +00:00
Priit Jõerüüt
70ea593bd9
Translated using Weblate (Estonian)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-02-10 19:59:41 +00:00
Priit Jõerüüt
a62b34d372
Translated using Weblate (Estonian)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2026-02-10 19:59:41 +00:00
idezentas
21010df2aa
Translated using Weblate (Turkish)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-02-10 19:59:41 +00:00
Fjuro
0f33f14972
Translated using Weblate (Czech)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/cs/
2026-02-10 19:59:41 +00:00
Sathen
bdac869402
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/uk/
2026-02-10 19:59:41 +00:00
Outbreak2096
03f57f4679
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-02-10 19:59:41 +00:00
arcker95
a96b0b428d
Translated using Weblate (Italian)
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-10 19:59:41 +00:00
SimonHung
f5e0607ae9
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (383 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-02-10 19:59:41 +00:00
idezentas
735d413a74
Translated using Weblate (Turkish)
Currently translated at 94.2% (361 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-02-10 19:59:41 +00:00
efko
eea6003ffb
Translated using Weblate (Greek)
Currently translated at 46.7% (179 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/el/
2026-02-10 19:59:41 +00:00
ictu
a8ac91ecd1
Translated using Weblate (Polish)
Currently translated at 63.1% (242 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pl/
2026-02-10 19:59:41 +00:00
SimonHung
24cd367204
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 94.7% (363 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-02-10 19:59:41 +00:00
oyvhov
01bc279ecf
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.2% (319 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nb_NO/
2026-02-10 19:59:41 +00:00
damontecres
2a264f31e6
Translated using Weblate (Spanish)
Currently translated at 94.2% (361 of 383 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-02-10 19:59:41 +00:00
Outbreak2096
231dc4e6df
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (364 of 364 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2026-02-10 19:59:41 +00:00
arcker95
dd61bab8d1
Translated using Weblate (Italian)
Currently translated at 100.0% (364 of 364 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2026-02-10 19:59:41 +00:00
idezentas
47f12b8735
Translated using Weblate (Turkish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/tr/
2026-02-10 19:59:41 +00:00
subatomic9345
4b8ee5f5de
Translated using Weblate (German)
Currently translated at 94.4% (342 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-02-10 19:59:41 +00:00
idezentas
1a4daf8078
Added translation using Weblate (Turkish) 2026-02-10 19:59:40 +00:00
opakholis
4155556c05
Translated using Weblate (Indonesian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2026-02-10 19:59:40 +00:00
SimonHung
1c9afd0408
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2026-02-10 19:59:40 +00:00
danyrd92
4dd6e3a6c0
Translated using Weblate (Spanish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-02-10 19:59:40 +00:00
damontecres
8605fcafa8
Translated using Weblate (Spanish)
Currently translated at 100.0% (362 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2026-02-10 19:59:40 +00:00
haldq
404a883eb4
Translated using Weblate (German)
Currently translated at 94.1% (341 of 362 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2026-02-10 19:59:40 +00:00
Ray
e7da5ca007
Add settings for max days in next up (#850)
## Description
Add a settings to set the maximum amount of time items can appear in
Next Up.

Options range from 7 days to a year, or no limit (current & default
behavior)

### Related issues
Closes #662 

### Testing
Tested on the emulator and verified URLs, added unit tests

## Screenshots
N/A, just a new slider bar setting

## AI or LLM usage
None
2026-02-09 15:36:20 -05:00
Ray
72e5e6ae86
Add option to send relevant media info to server for bug reports (#840)
## Description
Adds a item in the More menu to send information about the media item to
the server (and app logs).

This includes the "media sources" which is info about the files and
stream/tracks in the files. It also includes device info, the playback
preferences, and the device's transcoding profile. All of this info is
useful for debugging playback issues.

### Related issues
N/A

### Testing
Emulator testing

## Screenshots
N/A

## AI or LLM usage
None
2026-02-08 13:38:09 -05:00
Ray
d9d5ab02e8
Add support for viewing photos in photo albums (#703)
## Description
Add support for viewing photos in photo albums

### Features
- Browse and view albums & photos
- View an album as a slideshow
- Show overlay with photo details and controls
- Rotate, zoom, & pan photos
- Apply basic filters to photos or albums such as contrast, saturation,
red/green/blue, etc
- Setting to include video clips during slideshows

### Controls
- D-Pad left or right: scroll between photos in album
- Hold D-Pad up or down: zoom in or out of the current photo
- D-Pad left/right/up/down, while zoomed: pan around photo
- Back, while zoomed: revert the zoom
- Otherwise: show photo overlay

### Related issues
Closes #458
Closes #634

### Screenshots
#### Overlay
![photo_overlay
Large](https://github.com/user-attachments/assets/b44ed876-d8bd-4f75-aa1e-4106c2edb2f7)

#### Applying filters
![photo_filters
Large](https://github.com/user-attachments/assets/1379978a-b27c-47ac-80af-f7bb6a2177df)
2026-02-04 20:04:46 -05:00
Ray
ee440698b0
Set a different style for HDR subtitles & adjust image subtitles opacity (#827)
## Description
Can now configure a different subtitle style for HDR playback.

There is also a new setting to change the opacity/dim image based
subtitles. This is primarily for HDR to dim very bright PGS subtitles,
but the setting is available for SDR too.

Please remember that the styles only apply to unstyled text formats like
SRT.

I haven't been able to consistently get the preview to switch the
display into HDR mode, so the preview is not 100% accurate.

### Related issues
Closes #583

### Testing
Shield pro 2019 w/ LG C2

## AI or LLM usage
None
2026-02-04 18:22:11 -05:00