-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Fix video replay issue in iOS #38419
Conversation
@mananjadhav Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
@ShridharGoel I understand the impacted platform is just iOS. But considering the change is in |
@mananjadhav Added for other platforms as well, apart from Android native. Will add that also soon. |
@mananjadhav All videos have been added. |
Thanks for the update @ShridharGoel. While the code changes look good, I need to check if adding |
@mananjadhav Gentle bump on this. |
@ShridharGoel Can we elaborate the test steps to also add the full-screen mode? |
@ShridharGoel I am still seeing some issues when I click on the Play button. Screen.Recording.2024-03-23.at.1.14.32.AM.mov |
@mananjadhav I didn't get the issue from the video that you've attached. Shouldn't the play button be clicked after video is complete to check this? |
Yes the center play button to be clicked in the full screen mode after the video is complete. |
fyi I just followed the steps mentioned in the issue reproduction steps. |
@mananjadhav Can you check once again if your build was having the changes from my branch? It was working correctly for me. |
@ShridharGoel I had tried in your branch only with the latest main at that point of time. I'll take a look at my end again, but can we merge the latest main and try once again? Can you upload the screencast of the iOS along with the steps you performed? |
@mananjadhav Video with updated main Screen.Recording.2024-03-29.at.12.45.29.PM.mov |
Hmm. Thanks for the video, I'll take a look. |
@ShridharGoel It worked this time on iOS but not on the web. Clicking on the center of the video doesn't play/pause the video. It glitches and then continues to play. web-playback-error_oa2p66ub.mp4I think for all the platforms, we should be doing a thorough testing for all play-pause controls, the buttons, the screen, full screen mode, and play-pause end of the video, middle of the video. Also, can we improve the content of the Test steps? Let's include, the part for fullscreen and also mention that we should hit Play-Pause a few times when the video is played. |
@mananjadhav |
I tested this against the staging env and latest main. Can you confirm at your end? |
@mananjadhav Should we remove isPlaying from the dependencies of useCallback? It doesn't seem needed. |
@mananjadhav I've removed the isPlaying dependency, can you check again? |
I checked on Web it worked fine, but I'll need time to test all platforms.
Can you please update your screencasts to cover. This is to ensure we don't add any regression.
And can you also update the Test steps as requested earlier? |
Updated description. Will add the videos in few hours. |
Thanks, just post a comment once the videos are uploaded. I think I'll also be able to test by that time. Thank you for your patience. |
Reviewer Checklist
Screenshots/VideosAndroid: Nativeandroid-video-replay.movAndroid: mWeb Chromemweb-chrome-video-replay.moviOS: Nativeios-video-replay.moviOS: mWeb Safarimweb-safari-video-replay.movMacOS: Chrome / Safariweb-video-replay_2ddspBnh.mp4MacOS: Desktopdesktop-video-replay_0ksQDmtJ.mp4 |
@@ -127,6 +127,7 @@ function BaseVideoPlayer({ | |||
videoStateRef.current = e; | |||
onPlaybackStatusUpdate(e); | |||
}, | |||
// eslint-disable-next-line react-hooks/exhaustive-deps |
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.
Can you add a comment explaining why we're not adding all the deps?
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.
Added.
@mananjadhav New videos have been added. |
@@ -127,6 +127,7 @@ function BaseVideoPlayer({ | |||
videoStateRef.current = e; | |||
onPlaybackStatusUpdate(e); | |||
}, | |||
// eslint-disable-next-line react-hooks/exhaustive-deps -- we don't want to trigger this when isPlaying changes because isPlaying is only used inside shouldReplayVideo |
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.
💚
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.60-13 🚀
|
Details
Fix video replay issue in iOS.
Fixed Issues
$ #37249
PROPOSAL: #37249 (comment)
Tests
QA Steps
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Screen.Recording.2024-04-03.at.12.47.23.AM.mov
Android: mWeb Chrome
Screen.Recording.2024-04-03.at.1.35.46.AM.mov
iOS: Native
Screen.Recording.2024-04-03.at.12.56.59.AM.mov
iOS: mWeb Safari
Screen.Recording.2024-04-03.at.1.31.00.AM.mov
MacOS: Chrome / Safari
Screen.Recording.2024-04-02.at.9.56.40.PM.mov
MacOS: Desktop
Screen.Recording.2024-04-02.at.9.59.45.PM.mov