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

replace custom native review module with expo-store-review #6268

Merged
merged 3 commits into from
Nov 21, 2024

Conversation

maxbbb
Copy link
Contributor

@maxbbb maxbbb commented Nov 16, 2024

Fixes APP-2038

What changed (plus any additional context for devs)

Fixes the app not being able to receive touches after the SKStoreReviewController was shown on iOS.

The app would not be able to receive any touches until force closed regardless of if the user selected "Not Now" or rated the app once the SKStoreReviewController was shown.

expo-store-review was added to replace custom native module implementation, but that did not fix the issue.
The addition of expo-store-review was kept regardless due to the custom native module implementations being 5 years old and including some method swizzling and arbitrary timeouts to get around issues that no longer exist.

The issue was related to this extension in the Extensions.swift file

extension UIView { 
  open override var canBecomeFirstResponder: Bool {
      return true
  }
}

This code was added in a 5 year old PR (#509) for improving performance of a native list component that is no longer used, so it should be safe to remove.

This issue CocoaDebug/CocoaDebug/issues/143 has more information on why this happens

Screen recordings / screenshots

RPReplay_Final1731728558.MP4

What to test

  • Go to settings
  • Click "Review Rainbow"
  • Click "Yes"
  • Click "Not Now", and the app should not freeze.

Copy link

linear bot commented Nov 16, 2024

@maxbbb maxbbb requested a review from walmat November 16, 2024 03:54
Copy link

socket-security bot commented Nov 16, 2024

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/[email protected] None 0 29.9 kB brentvatne

View full report↗︎

Copy link
Member

@brunobar79 brunobar79 left a comment

Choose a reason for hiding this comment

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

LGTM!

Added @ibrahimtaveras00 as a reviewer so he can check on android before merging

Copy link
Contributor

@ibrahimtaveras00 ibrahimtaveras00 left a comment

Choose a reason for hiding this comment

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

Not sure if this is because I already reviewed the apps on both stores or not, but when I tap yes on my iPhone on testflight or on my test android nothing happens.

Android seen here:
https://github.com/user-attachments/assets/68ee7627-9ebd-4a59-8ac6-51751c7a1bc6

iOS seen here:
https://github.com/user-attachments/assets/7beeeff1-c3c5-4d08-a49b-8d51f800b079

Tested on iOS on Testflight version 1.9.47 (3)
Tested on Android on release apk

Another way to get the review to pop up:

  • start the app in a clean state
  • create a new wallet
  • tap send button then add a contact

or

  • start the app in a clean state
  • create a new wallet
  • create another new wallet
  • now watch a wallet

@maxbbb
Copy link
Contributor Author

maxbbb commented Nov 21, 2024

On iOS the review request cannot be shown in Testflight builds. I'm assuming there is something similar on Android but I haven't looked into it.

You can get directly to the review request by going to Settings -> Review Rainbow

@ibrahimtaveras00
Copy link
Contributor

ibrahimtaveras00 commented Nov 21, 2024

I just checked prod on playstore and same bug happens there, cc @brunobar79

Screen.Recording.2024-11-21.at.12.51.51.PM.mov

@brunobar79
Copy link
Member

Not sure if this is because I already reviewed the apps on both stores or no

@ibrahimtaveras00 Can you try with a different google account before we assume it's a bug?

Copy link
Contributor

@ibrahimtaveras00 ibrahimtaveras00 left a comment

Choose a reason for hiding this comment

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

All good here on both OS's, QA Passed 👍🏽

@maxbbb maxbbb merged commit 19f0196 into develop Nov 21, 2024
7 of 8 checks passed
@maxbbb maxbbb deleted the @kane/APP-2038 branch November 21, 2024 18:49
Copy link

sentry-io bot commented Nov 22, 2024

Suspect Issues

This pull request was deployed and Sentry observed the following issues:

  • ‼️ Error: Request review flow failed <global>(src/utils/reviewAlert) View Issue

Did you find this useful? React with a 👍 or 👎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants