-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable TV Support for 'Ask to Skip' #6295
Enable TV Support for 'Ask to Skip' #6295
Conversation
Cloudflare Pages deployment
|
|
I agree, it's not intuitive to have to click up two times when the button appears.
Thanks! This is an issue with just this PR because |
@viown Could you try changing the skip button to
Alternatively, we can add Also, don't focus the skip button when the OSD is visible. |
Yes, to do this I will have to move the button to the OSD template, which is probably what I should've done to begin with. Also, the button should not focus when the OSD is visible. Do you see different results in your testing? |
Yes, it grabs the focus when I navigate the playback control buttons (to keep the OSD visible). With this clip: https://github.com/user-attachments/assets/95ac625f-a41d-46d1-9125-1f6c4356552a
|
Updated to use emby-button. Your mentioned issue should be fixed. I also noticed that the button would cause the video to pause on click (just this PR), so that was fixed as well. Given how complex this PR became, I wonder if it still makes sense for a 10.10.z release? |
if (e.target.tagName !== 'BUTTON') {
playbackManager.playPause(currentPlayer);
} We are losing the ability to pause using the `OK' button on the TV remote control, so we need to rethink the skip button focus logic and/or UI.
Alternatively, we could try moving the skip button back from the video OSD and block the focus change by checking the current |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few minor notes. Not tested yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost fine.
- There's a problem with CustomElements (see below). Major issue.
- The focus is lost after we hide the skip button.
This is a global problem. If we don't find a good concept for changing focus after hiding the current element, I think we can leave it to the next version - the user can useBack
to hide the OSD and show it again using the navigation keys.
Yeah, I noticed that focus was lost after clicking the button, but wasn't sure what the best way to go about it was. Since skipping will summon the OSD panel, we might be able to change the focus to the play/pause button. Adding |
Co-authored-by: Dmitry Lyzo <[email protected]>
Quality Gate passedIssues Measures |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what to do with focus (focus loss can happen not only on the video OSD), but we can probably fix that later. As workaround: users can hide the OSD with Back
/Escape
buttons and regain focus when it reappears.
To address the focus issue, you can make the following changes:
|
I think it would be better to restore it here: jellyfin-web/src/controllers/playback/video/index.js Lines 341 to 343 in 5f10569
We need to remove focusElement from the condition. If !focusElement and document.activeElement is not focusable, use btnPause as the focus element.
} else if (currentVisibleMenu === 'osd' && !layoutManager.mobile) {
if (!focusElement && (!document.activeElement || !focusManager.isCurrentlyFocusable(document.activeElement)) {
focusElement = osdBottomElement.querySelector('.btnPause');
}
_focus(focusElement);
} Not tested. Iirc, we also need to add range input (playback progress bar) as focusable element to
We should check that |
Changes
Enables TV Support for the skip button
Issues