Status-react: Link is opened in system browser instead of a webview

Created on 12 May 2017  ·  9Comments  ·  Source: status-im/status-react

Description

Type: Bug

Summary: Page is opened in system browser browse google.ru, search for "testing" and tap on any link in found results. Note: this does not happen if search view google.com

Expected behavior

If tap on link then page is loaded inside the webview (in the app not in Safari browser)

Actual behavior

If tap on link then page is opened in Safari

Reproduction

video: https://drive.google.com/open?id=0Bz3t9zSg1wb7NE5LVU9iNGtsR1U

  • Open Status
  • Open Dapp
  • google.ru
  • search for "testing"
  • In found results tap on any link, e.g on wikipedia link

Additional Information

  • Status version: 0.9.7
  • Operating System: iOS

Logs

20171205121940-consolelog.txt

bounty bounty-m bug high-priority ios webview

All 9 comments

set to in progress on request from @occamin

there is shouldOverrideUrlLoading for Android

Balance: 0.000000 ETH
Tokens: SNT: 1350.00
Contract address: 0x7d09e91b2dde3397731350fd39f5f95d16dbf81f
Network: Mainnet
Paid to: georgiemathews
Visit https://openbounty.status.im to learn more.

I'll start working on this

@flexsurfer Looks like the issue is in your fork of react-native-webview-bridge. Is it necessary to still be using this fork since the webview is now integrated into react-native core? If so, could you shed some light on the purpose of maintaining this fork.

could you shed some light on the purpose of maintaining this fork

the reason why we need to have our own fork is that we have to ensure that web3 object is injected into webview before any page is loaded, which is impossible with API provided by react-native's implementation.

For instance, react-native's webview (iOS version) is based on UIWebView which is kind of deprecated. When using UIWebView it's just impossible to guaranty that any custom js code will be injected into webview before loading of the web page, when WKWebView provides API for this purpose.
Also UIWebView is much slower than WKWebView

We have similar situation on Android, but there is no API for such injection at all, so we need to implement our own hack for injection.

rechecked on Android 8.1.0 (real Pixel XL) - can't reproduce
on iOS 11.0.13 (real iphone 7 plus) - CAN reprodcue

@annadanchenko retested without this fix, just to make sure it's repro only on ios

@georgiemathews your changes merged in master, could you please create PR in this repo and change here https://github.com/status-im/status-react/blob/develop/package.json#L61 branch to master

GitHub
status-react - a free (libre) open source, mobile OS for Ethereum
Was this page helpful?
0 / 5 - 0 ratings

Related issues

jarradh picture jarradh  ·  4Comments

denis-sharypin picture denis-sharypin  ·  4Comments

mfekadu picture mfekadu  ·  3Comments

andmironov picture andmironov  ·  3Comments

andmironov picture andmironov  ·  3Comments