Koniverse / SubWallet-Mobile

SubWallet is the comprehensive non-custodial wallet solution for Polkadot, Substrate & Ethereum ecosystems
Apache License 2.0
30 stars 29 forks source link

In-app Browser #18

Closed hieudd closed 1 year ago

hieudd commented 1 year ago

Overview

In-app Browser is a simple browser with Substrate and EVM Provider and allows DApp interaction like on Mobile via extension. We prepare to create this browser with react-native-browser with some simple UI. From common mobile browsers, We can connect SubWallet Mobile with deep-link.

Concept

User Flow

graph TD
    FMB(From mobile browsers like Chrome/Safari/Firefox...)
    FSWA(From SubWallet App)
    FMB --Deep link--> OSWMB(Open DApp on SubWallet Mobile Browser)
    FSWA --> OSWMB
    OSWMB --> ODA(Open DApp with Injected Substrate/EVM provider)

DApp - WebRunner interaction

sequenceDiagram
    DApp->>+Wallet Provider: Perform method
    Wallet Provider->>+SubWalletMobile: Send request (origin, tabId)
    SubWalletMobile->>+WebRunner: Forward request (origin, tabId)
    WebRunner->>-SubWalletMobile: Response request (origin, tabId)
    SubWalletMobile->>-Wallet Provider: Forward response (origin, tabId)
    Wallet Provider->>-DApp: Async resolve/reject

Stage 1: Research (2022-08-24)

Stage 2: Basic Implementation (2022-09-10)

lw-cdm commented 1 year ago
lw-cdm commented 1 year ago
lw-cdm commented 1 year ago
sokol142 commented 1 year ago

Version test: V0.1.6 (Build 42) Device test: IP 8 Plus (15.5)

Bugs

Actual: Showing incorrect fee of transaction history image

Steps:

  1. Open the app
  2. Hit on Browser and visit to Subconnect page (connect.subwallet.app)
  3. Select SubWallet (EVM) to connect then hit on Cancel action on popup connect
  4. Stand on Subconnect page, click on "Request permission" button

Actual: Not show request permission popup Expected: Show request permission popup

sokol142 commented 1 year ago

Version test: v0.1.7 (55) Device test: IP 8 Plus (15.5)

Please check issues:

sokol142 commented 1 year ago

Version test: v0.1.7 (57) Device test: IP 8 Plus (15.5)

Please check issue:

Steps:

  1. Open the app
  2. Go to Browser tab then visit to "connect.subwallet.app"
  3. Touch on the multiple-tabs button then open "connect.subwallet.app" again
  4. Touch on X icon button to back to home
  5. Touch on multiple-tabs button again
  6. View the above 2 tabs in turn

Actual: 1/2 page is blank page image

sokol142 commented 1 year ago

Version test: v0.1.7 (62) Device test: IP 8 Plus (15.5)

Check issues:

Case 1: Have no dapp browser on the Manage dApp Access screen yet Steps:

  1. From Chrome/Safari/another app, touch on the deep-link to visit dapp on the SubWallet app
  2. Observe the SubWallet app

Actual: Open the empty dapp Expected: Open the dapp to connect

Case 2: Have no account yet Steps:

  1. From Chrome/Safari/another app, touch on the deep-link to visit dapp on the SubWallet app
  2. Observe the SubWallet app

Actual: Open the empty dapp Expected: Open the Getting Started screen

Steps:

  1. Open the SubWallet app
  2. Go to Browser tab then connected to Polkadot js apps successfully
  3. Back to Homepage
  4. Visit to the SubConnect page via deep-link (subwallet://browser?url=https%3A%2F%2Fconnect.subwallet.app%2F)
  5. Touch on Multi-tabs button then obser logo of the dapp displayed

Actual: Showing incorrect logo (SubConnect page showing "Polkadot js app" site logo) https://user-images.githubusercontent.com/102292476/193496099-181b6ccd-3787-4646-81b1-5493ac2eaa0c.MP4

Expected: Show correct logo

sokol142 commented 1 year ago

Version test: v0.1.7 (63)

Validation passed