jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.41k stars 1.28k forks source link

Live TV - guide navigation goes off screen #5705

Open jonpmyatt opened 5 months ago

jonpmyatt commented 5 months ago

When navigating downwards in the TV guide, upon reaching the last channel on the screen the list doesn’t scroll: instead the highlighted item disappears off the bottom of the screen.

dmitrylyzo commented 5 months ago

The emby-scroller that wraps the guide doesn't seem to scroll when focusing. This is true for all webui-based clients.

I have no idea how it worked before, if at all, but we probably need to add data-centerfocus="true" to the scroller.

UPD: data-centerfocus doesn't help. ~It looks like the RTL changes may be the cause of the problem (we have a vertical scroller, but this code is for a horizontal): https://github.com/jellyfin/jellyfin-web/blob/1675e46e33f273ddd3f660eb4718c16d2f20d414/src/libraries/scroller.js#L273-L279~

UPD2: frameSize is too large (equal to the slidee size). https://github.com/jellyfin/jellyfin-web/blob/1675e46e33f273ddd3f660eb4718c16d2f20d414/src/libraries/scroller.js#L178 so the offset is wrong: https://github.com/jellyfin/jellyfin-web/blob/1675e46e33f273ddd3f660eb4718c16d2f20d414/src/libraries/scroller.js#L404 Related changes:

4714 - frameSize looks fine (slightly smaller than before).

5070 - frameSize equals to slideeSize.

sharpdressedcodes commented 1 month ago

This custom css code temporarily fixed/hacked it for me on 2 different TVs: .liveTvContainer .guideVerticalScroller { padding-bottom: 750px!important; padding-top: 100px!important; }

Then close the app on the TV, reopen it, and it should pick up the new changes.

This will also affect the other clients, like desktop browser, but everything still works.

HouseIndoril commented 4 weeks ago

This may be known already but this is still present in 10.10.

HouseIndoril commented 4 weeks ago

This custom css code temporarily fixed/hacked it for me on 2 different TVs: .liveTvContainer .guideVerticalScroller { padding-bottom: 750px!important; padding-top: 100px!important; }

Then close the app on the TV, reopen it, and it should pick up the new changes.

This will also affect the other clients, like desktop browser, but everything still works.

Its a little clunky, but it made my 55" LG UQ7070ZUE work better, so thanks for finding this.

sharpdressedcodes commented 4 weeks ago

To target only the tv, prefix the code with .layout-tv

Eg:

.layout-tv .liveTvContainer .guideVerticalScroller { padding-bottom: 750px!important; padding-top: 100px!important; }