Skip to content
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

[BUG] media player is not re-sizing to width of browser #676

Closed
3 tasks
elynema opened this issue Oct 23, 2024 · 13 comments
Closed
3 tasks

[BUG] media player is not re-sizing to width of browser #676

elynema opened this issue Oct 23, 2024 · 13 comments
Assignees
Labels
bug 🐛 Something isn't working

Comments

@elynema
Copy link

elynema commented Oct 23, 2024

Description

For both audio and video items, the media player is not re-sizing to the width of the browser on the playlist page. This requires the user to scroll the browser horizontally in order to access all the widgets. So far, this has been observed in Safari on iPhone as well as Chrome on desktop (when the browser is resized down). This is happening even when the browser is not zoomed at all and is happening for both audio and video on both playlist and media item pages.

screenshot-iPhone 15 Pro-17 0 (3)

Done Looks Like

  • Media player resizes to fit the entire width, including components, to within the browser viewport width
  • Test zoom levels and investigate resizing strategy to determine where to make changes
  • There is enough space to accommodate the popup menu for the playback speed widget.
@elynema elynema changed the title [BUG] media player is not re-sizing to width of browser in Safari on iPhone [BUG] media player is not re-sizing to width of browser Oct 23, 2024
@joncameron joncameron added the bug 🐛 Something isn't working label Oct 23, 2024
@joncameron
Copy link
Contributor

Min height and width of player set during previous work; these changes may be triggering this issue.

@Dananji
Copy link
Collaborator

Dananji commented Oct 25, 2024

I was not able to reproduce this issue for Chrome on both my machine and BrowserStack for desktop. The browser wouldn't let me reduce the width to be less than the width of the bootstrap column containing the player.

@elynema
Copy link
Author

elynema commented Oct 28, 2024

Tested this morning and I also was not able to reproduce this specific issue in Chrome or Safari today. However, I am seeing an overlap issue in what is probably tablet mode in both Chrome and Safari.

image (10)

@elynema
Copy link
Author

elynema commented Oct 30, 2024

@Dananji Chrome and Safari on desktop is working fine for me now for both issues reported above, but the video player is still overflowing the page horizontally in Safari on iPhone in Browserstack.

screenshot-iPhone 15-17 0 (8)

@Dananji
Copy link
Collaborator

Dananji commented Oct 30, 2024

@elynema Latest changes from the Ramp build were not deployed properly in avalon-dev, so it was still on the older CSS. Chris re-compiled them, and now latest CSS changes are in place in avalon-dev.

@elynema
Copy link
Author

elynema commented Oct 31, 2024

@Dananji This is looking good on iPhone, but Android is still overflowing. I see you have #696 that isn't merged yet - is that a resolution to this issue?

screenshot-Samsung Galaxy S24-14 0 (4)

@elynema
Copy link
Author

elynema commented Nov 5, 2024

Tested and working fine on Chrome and Safari on desktop

@Dananji Two issues:

  1. Still having overflow on Android just like before. I'm guessing Extend player min-width to Android browsers #696 did not get included in the new Ramp build in Avalon-dev.
  2. Tested zoom on iPhone (iOS 18) using the Safari browser Zoom setting to 200%. The video player is way too wide for the screen in this context. See screenshot:

screenshot-iPhone 14-18 0 (1)

@Dananji
Copy link
Collaborator

Dananji commented Nov 5, 2024

The change for Android is included in the latest build of Ramp in Avalon, but the assets didn't compile and deploy in avalon-dev properly. I mentioned it to Chris and he will look into it: https://samvera.slack.com/archives/G2E762545/p1730839476879059?thread_ts=1730835289.531579&cid=G2E762545. Once this is resolved this can be tested again in Android.

I will look into the zoom issue in iPhone.

@Dananji
Copy link
Collaborator

Dananji commented Nov 5, 2024

We set a minimum width to the player in iOS and Android devices to 380px, which Ramp sticks with on zoom. This is to keep all player control icons on-screen when zooming in.

I can reduce this width to a lower value (~320px). Reducing it all the way to fit device width will result in the same issue we've seen before, where some of the player controls gets hidden.

@elynema What do you think about reducing the minimum width of the player just enough to contain all the player controls? This value is around 320px. Or if there's anything else we can try, please let me know.

@elynema
Copy link
Author

elynema commented Nov 5, 2024

@Dananji I thought moving the progress bar up above was to allow us to zoom up to 200%?

If we set a min width, then users might not be able to actually see the full content that's playing if they are zoomed, right?

@Dananji
Copy link
Collaborator

Dananji commented Nov 5, 2024

I thought moving the progress bar up above was to allow us to zoom up to 200%?

No, it doesn't allow us to keep the player width fit to device width on 200% zoom. Moving the progress-bar above the controls helps us to interact with it on 200% zoom easily, because it doesn't get squished among the other controls.

In order to find a solution to this I tested the following sites on 200% zoom on iPhone;

  1. VideoJS site: in the first instance it reduces the player width to fit the device width, in the second instance keeps a fix width while the player goes out of page boundaries.
Screenshot 2024-11-05 at 4 58 34 PM Screenshot 2024-11-05 at 5 04 28 PM
  1. LinkedInLearning: zooms in the player and its controls keeping the player's width fit to device width, while some controls disappear.
Screenshot 2024-11-05 at 5 00 00 PM
  1. YouTube on Safari: squishes all the controls on top of video while keeping the player width stick to the device width.
    IMG_1124

  2. Vimeo: player width is kept the same as the device width while collapsing all the controls to the side. I couldn't find the progress-bar to scrub/seek on 200% on this player.

Screenshot 2024-11-05 at 5 25 19 PM

Looking at these examples, maybe we can discuss and come up with a solution to this issue?

If we set a min width, then users might not be able to actually see the full content that's playing if they are zoomed, right?

Yes, this is an issue with zooming in to 200% on portrait mode with this solution.

One potential solution for this could be to aggregate the controls into a single setting menu on mobile devices in the future?

@joncameron
Copy link
Contributor

No ability to identify zoom level in the browser within JS is also a difficulty with some of these methods.

@elynema elynema closed this as completed Nov 6, 2024
@elynema
Copy link
Author

elynema commented Nov 6, 2024

Width is looking ok on Android, now.

Stick with our current solution for 200% Zoom, which was developed as #596. Jon will create a new issue to investigate if we can develop a solution more like Vimeo, where controls are migrated into a joint panel behind a single config button when zoom goes up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants