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

fix: Use custom controls for iOS video (#7729) #7737

Merged
merged 3 commits into from
Nov 10, 2023

Conversation

Cal-L
Copy link
Contributor

@Cal-L Cal-L commented Nov 9, 2023

Description

It was discovered that the video begins crashing the app for iOS 17.2+ physical devices. While there is no solution in the latest react-native-video package at the moment (TheWidlarzGroup/react-native-video#3329), we can patch it by removing the controls prop and temporarily use custom controls (a play/pause + mute controls). The tradeoff is that other features such as full screen and seeking will not be available on iOS.

Related issues

Fixes: #7729

Manual testing steps

  1. Go to this page...

Screenshots/Recordings

Before

After

Screenshot 2023-11-09 at 9 19 57 AM

iOS 17.2 Interaction
https://github.com/MetaMask/metamask-mobile/assets/10508597/8976d5b7-d276-4834-9496-0ba8608e25e3

Video with play/pause + mute controls on settings
https://github.com/MetaMask/metamask-mobile/assets/10508597/492fb78d-3703-4714-bed1-8ddd7b631efa

Video with play/pause + mute controls on onboarding
https://github.com/MetaMask/metamask-mobile/assets/10508597/14780058-c595-4fb9-8aab-9987120c8126

Android remains the same
https://recordit.co/pTuloJmuIn

Pre-merge author checklist

  • I’ve followed MetaMask Coding Standards.
  • I've clearly explained what problem this PR is solving and how it is solved.
  • I've linked related issues
  • I've included manual testing steps
  • I've included screenshots/recordings if applicable
  • I’ve included tests if applicable
  • I’ve documented my code using JSDoc format if applicable
  • I’ve applied the right labels on the PR (see labeling guidelines). Not required for external contributors.
  • I’ve properly set the pull request status:
    • In case it's not yet "ready for review", I've set it to "draft".
    • In case it's "ready for review", I've changed it from "draft" to "non-draft".

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@Cal-L Cal-L requested a review from a team as a code owner November 9, 2023 06:05
Copy link
Contributor

github-actions bot commented Nov 9, 2023

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) in-progress labels Nov 9, 2023
Copy link
Contributor

github-actions bot commented Nov 9, 2023

E2E test started on Bitrise: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/4eb79b2c-a839-47ff-974f-736bc47331a5
You can also kick off another Bitrise E2E smoke test by removing and re-applying the (Run Smoke E2E) label

@codecov-commenter
Copy link

codecov-commenter commented Nov 9, 2023

Codecov Report

Attention: 17 lines in your changes are missing coverage. Please review.

Comparison is base (5aaf054) 34.97% compared to head (15850b0) 35.08%.
Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7737      +/-   ##
==========================================
+ Coverage   34.97%   35.08%   +0.10%     
==========================================
  Files        1034     1035       +1     
  Lines       27529    27544      +15     
  Branches     2298     2313      +15     
==========================================
+ Hits         9629     9664      +35     
+ Misses      17387    17360      -27     
- Partials      513      520       +7     
Files Coverage Δ
app/components/Views/MediaPlayer/index.js 12.00% <5.55%> (-18.00%) ⬇️

... and 38 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@metamaskbot metamaskbot added ready-for-dev needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) and removed needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) ready-for-dev labels Nov 9, 2023
Copy link
Contributor

@tommasini tommasini left a comment

Choose a reason for hiding this comment

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

Awesome work! LGTM, it would be cool to convert this to typescript and do an unit test for when the mute button is displayed if you have the time since this is a sev1

app/components/Views/MediaPlayer/index.js Show resolved Hide resolved
Copy link

sonarcloud bot commented Nov 10, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

3.0% 3.0% Coverage
0.0% 0.0% Duplication

@metamaskbot metamaskbot added needs-qa Any New Features that needs a full manual QA prior to being added to a release. and removed needs-dev-review PR needs reviews from other engineers (in order to receive required approvals) labels Nov 10, 2023
@chrisleewilcox chrisleewilcox added QA in Progress QA has started on the feature. and removed needs-qa Any New Features that needs a full manual QA prior to being added to a release. labels Nov 10, 2023
@chrisleewilcox
Copy link
Contributor

Was not able to crash app on iPhone 12 iOS 16.2
https://recordit.co/4J2OvXKiau

@chrisleewilcox chrisleewilcox added QA Passed A successful QA run through has been done and removed QA in Progress QA has started on the feature. labels Nov 10, 2023
Copy link
Contributor

@chrisleewilcox chrisleewilcox left a comment

Choose a reason for hiding this comment

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

LGTM

@chrisleewilcox chrisleewilcox merged commit facb802 into main Nov 10, 2023
33 of 35 checks passed
@chrisleewilcox chrisleewilcox deleted the fix/7729-fullscreen-video-crash branch November 10, 2023 22:42
@github-actions github-actions bot locked and limited conversation to collaborators Nov 10, 2023
@metamaskbot metamaskbot added the release-7.12.0 Issue or pull request that will be included in release 7.12.0 label Nov 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
QA Passed A successful QA run through has been done release-7.12.0 Issue or pull request that will be included in release 7.12.0 team-mobile-platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Metamask crashes on the Protect your wallet flow on iOS 17.2 beta
6 participants