Skip to content

Conversation

absidue
Copy link
Member

@absidue absidue commented Aug 24, 2025

Pull Request Type

  • Feature Implementation
  • Other

Related issue

Description

shaka-player 4.15 includes a redesigned player UI, which required a few changes to our custom player components as well as the CSS. As the UI changes increase the spacing between the player buttons, I also thought this was a good momement to address Move player controls to the overflow menu which we have been planning to do for a while now. Additionally I switched our audio track selector over to the new getAudioTracks() and selectAudioTrack() API.

shaka-player 4.16 changed from using the Material Icons font in the CSS file to using SVGs created via JavaScript, this does mean that the JavaScript file is larger but we no longer need to download the Material Icons font and patch the CSS file to reference the downloaded version.

Screenshots

shaka-player UI changes

Testing

Try playing some videos and test that the various UI components work correctly.

Desktop

  • OS: Windows
  • OS Version: 10

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) August 24, 2025 14:28
@github-actions github-actions bot added PR: dependencies Pull requests that update a dependency file PR: waiting for review For PRs that are complete, tested, and ready for review labels Aug 24, 2025
@PikachuEXE
Copy link
Collaborator

All scroll over player functions not working (I tried all
image

@efb4f5ff-1298-471a-8973-3d47447115dc efb4f5ff-1298-471a-8973-3d47447115dc added PR: changes requested and removed PR: waiting for review For PRs that are complete, tested, and ready for review labels Aug 25, 2025
@PikachuEXE
Copy link
Collaborator

Adding classList.contains('shaka-controls-container') to handleControlsContainerWheel seems to work

@efb4f5ff-1298-471a-8973-3d47447115dc

i change the volume with the slider but the color wont adjust

Freetube.8Hbapf9cpa.mp4

@efb4f5ff-1298-471a-8973-3d47447115dc

FYI: v4.16.0 just released

@absidue
Copy link
Member Author

absidue commented Aug 26, 2025

I'll change this PR to jump straight to 4.16.0 then, no point doing two separate PRs right after each other (4.16 will also require more changes than just bumping the version).

@absidue absidue changed the title Update shaka-player to 4.15.x Update shaka-player to 4.16.x Aug 28, 2025
@absidue absidue added PR: waiting for review For PRs that are complete, tested, and ready for review and removed PR: changes requested labels Aug 28, 2025
@absidue
Copy link
Member Author

absidue commented Aug 28, 2025

@efb4f5ff-1298-471a-8973-3d47447115dc That issue is caused by touch interactions triggering the mouse wheel event that we add to the volume slider, so you can adjust it by hovering over it and scrolling. I don't know why touch interactions trigger touch events and wheel events at the same time but that's what is causing the problem here.

@PikachuEXE
Copy link
Collaborator

PikachuEXE commented Aug 28, 2025

Not review for this PR but SABR implementation seems broken (renderer process taking 100% CPU) after merging this (no code conflict) and I have no idea why...
(Note: only SABR, current DASH implementation is fine

A request stuck in pending?
image

Update 1: even non SABR request can be stuck
image

Update 2: Also got stuck in 4.5.12, not sure if the cause is the same though
image

Update 3: After using local shaka-player repo to checkout tags (long process), it seems to be shaka-project/shaka-player#8782 causing the issue

Update 4: Issue with our custom URL triggering a bug in https://github.com/shaka-project/shaka-player/blob/v4.16.0/lib/util/cmcd_manager.js#L1348, adding a fake host seems to workaround it

Update 5: Submitted issue shaka-project/shaka-player#9050

@PikachuEXE
Copy link
Collaborator

Testing SABR with this PR: https://github.com/PikachuEXE/FreeTube/actions/runs/17323879326
Will approve after testing for ~ 1 week (no issues so far last few days

efb4f5ff-1298-471a-8973-3d47447115dc

This comment was marked as resolved.

@absidue
Copy link
Member Author

absidue commented Sep 1, 2025

@efb4f5ff-1298-471a-8973-3d47447115dc That error message is not from us, that's coming from webpack's dev server intercepting errors to show in that popup, in this case it's a warning from Electron that an event handler is too slow and may cause performance problems during the resize but as there is nothing in the console I'm pretty sure it is happening inside shaka-player. (reminder that we need to turn off that webpack dev server overlay, as this is not the first time that it has shown irrelevant errors)

The only icon of concern is the theatre mode one, all others are different because shaka-player changed Material Icons to Material Symbols to in 0.16.x.

Comment on lines +251 to 259
:deep(.shaka-tooltips-on > .shaka-tooltip-status:active::after),
:deep(.shaka-tooltips-on > .shaka-tooltip-status:focus-visible::after),
:deep(.shaka-tooltips-on > .shaka-tooltip-status:hover::after),
:deep(.shaka-tooltips-on > .shaka-tooltip:active::after),
:deep(.shaka-tooltips-on > .shaka-tooltip:focus-visible::after),
:deep(.shaka-tooltips-on > .shaka-tooltip:hover::after),
:deep(#shaka-player-ui-time-container),
:deep(#shaka-player-ui-thumbnail-container #shaka-player-ui-thumbnail-time-container #shaka-player-ui-thumbnail-time) {
background-color: rgb(0 0 0 / 90%);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@absidue Would it make sense to include this directly in Shaka's CSS?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I'll open a pull request for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: dependencies Pull requests that update a dependency file PR: waiting for review For PRs that are complete, tested, and ready for review
Projects
None yet
4 participants