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

major: Android native port #793

Merged
merged 231 commits into from
Sep 22, 2021
Merged

major: Android native port #793

merged 231 commits into from
Sep 22, 2021

Conversation

Slesarew
Copy link
Contributor

@Slesarew Slesarew commented Aug 24, 2021

Android app. Uses Jetpack Compose as framework.

  • Rust backend bridge
  • Onboarding
  • Basic navigation
  • Key management
  • Seeds encryption
  • Multiframe QR scanner
  • Transaction handling
  • History screen
  • Secure network status indicator

Slesarew and others added 30 commits March 10, 2021 13:36
feat: metadata versions added to constants
removed som non-essential networks due to metadata loading issues
* feat: MWP fast Rust-processed QR scanner frontend

* build: temporarily switch dependency rust-native to side branch

* feat: implement rust code for fountain parsing. Saving point for partial dependencies upgrade attempts

* feat: add metadata through fountain QR codes! (go to network settings>"network name">ManageMetadata>Fast Qr Scanner)

* fix: lint and types

* fix: typo in constants

* fix: multiple minor bugs

* refactor: return rust native libs where they belong (#751)

* ref: return rust native libs where they belong

* docs: lost gitignore

* refactor: move reference animated qr code generator to external repository

* build: move header files in ios build part

* build: add more memory for ios node build

* build: add more memory for ios node build in a different way

* build: revert ios build changes, modify bitrise script to allocate less memory

* build: duplicate headers for ios

* fix: Transaction parser (#754)

* feat: parse generic transaction. Ugly but now works.

* test: increase e2e timeout

* fix: lint

* feat: automatically generate built-in metadata (#755)

* feat: add rust code to automatically fetch and generate built-in metadata constants

* test: add extra paths for linter to ignore

* feat: automatically update constants/networkSpecs.ts with new metadata info

* fix: add blake2 hash to metadata handles; use it as ID if no spec_name or spec_version is available

* fix: blake2 hash in networkSpecs constants

* fix: add hashes for centrifuge and edgeware

* fix: metadata autogeneration lint

* build: update failure_derive to 1.8.0

* build: convenience reminder in build script

* fix: multiple fixes to allow versionless metadata

* test: fix unit tests to recognize versioned metadata
* perf: moved metadata handle generator to rust

* refactor: lint and types

* build: try ti disable flipper

* fix: update metadata

* test: increase alert timeout

* test: typo in consts

* fix: merged last commit that was dropped from last squash for some reason
* build: bump polkadot/api version to latest

* fix: red boxes on registering networks

* build: mess with upgrades and lint

* feat: can delete unused metadata (except for built-in probably)
* upgrade polkadot and react-native

* test: disabled failing tests temporarily

* test: restore tests

* fix: lint

* test: fix ts-ignore updated rule

* fix: lint and types

* test: bump nodejs version

* test: bump wasm-crypto needed for tests

* fix: update metadata
@Slesarew Slesarew marked this pull request as ready for review September 8, 2021 10:32
Copy link
Contributor

@vas3k vas3k left a comment

Choose a reason for hiding this comment

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

As Kirill said, doing a review for +36,911 -172,926 PR in a language you do not know is almost impossible, so we decided to make a test build and test all the necessary workflows: seed creation, metadata update, exporting, transaction parsing, transaction signing, extension integration

I spend some time testing it on Westend, all features seems to work well. UI is very ugly and buggy, as expected :D

@vas3k
Copy link
Contributor

vas3k commented Sep 22, 2021

However, it is still impossible to use the app without @Slesarew being there to tell you to "turn on the dark mode" or "restart the app to make camera work". We should make a note in the README that the version is unusable, because for now we decided to focus on the iOS version

Current builds in GooglePlay/AppStore will remain old until public release

@Slesarew
Copy link
Contributor Author

However, it is still impossible to use the app without @Slesarew being there to tell you to "turn on the dark mode" or "restart the app to make camera work". We should make a note in the README that the version is unusable, because for now we decided to focus on the iOS version

Current builds in GooglePlay/AppStore will remain old until public release

https://github.com/paritytech/parity-signer/blob/ios-native-port/README.md#system-requirements

That PR will be merged first so both will have it.

@Slesarew Slesarew merged commit 727e046 into master Sep 22, 2021
@Slesarew Slesarew deleted the android-native-port branch September 22, 2021 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment