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

Recovery v1 #8687

Merged
merged 1 commit into from
Aug 14, 2019
Merged

Recovery v1 #8687

merged 1 commit into from
Aug 14, 2019

Conversation

dmitryn
Copy link
Contributor

@dmitryn dmitryn commented Aug 1, 2019

@dmitryn dmitryn requested review from vitvly, yenda, flexsurfer and a team August 1, 2019 15:52
@dmitryn dmitryn self-assigned this Aug 1, 2019
@ghost
Copy link

ghost commented Aug 1, 2019

Pull Request Checklist

  • Have you updated the documentation, if impacted (e.g. docs.status.im)?

@status-im-auto
Copy link
Member

status-im-auto commented Aug 1, 2019

Jenkins Builds

Click to see older builds (96)
Commit #️⃣ Finished (UTC) Duration Platform Result
a992034 #1 2019-08-01 15:55:40 ~3 min ios 📄 log
a992034 #1 2019-08-01 16:01:42 ~9 min android-e2e 📄 log
a992034 #1 2019-08-01 16:01:47 ~9 min android 📄 log
aedb27b #2 2019-08-01 17:06:48 ~3 min ios 📄 log
aedb27b #2 2019-08-01 17:12:22 ~9 min android 📄 log
aedb27b #2 2019-08-01 17:12:26 ~9 min android-e2e 📄 log
d3bd59d #3 2019-08-05 09:01:58 ~6 min ios 📄 log
d3bd59d #3 2019-08-05 09:06:37 ~11 min android-e2e 📄 log
d3bd59d #3 2019-08-05 09:07:42 ~12 min android 📄 log
41fa926 #4 2019-08-05 12:19:16 ~10 min ios 📄 log
41fa926 #4 2019-08-05 12:24:45 ~16 min android-e2e 📄 log
41fa926 #4 2019-08-05 12:25:33 ~16 min android 📄 log
187da73 #5 2019-08-05 14:10:36 ~11 min ios 📄 log
187da73 #5 2019-08-05 14:14:35 ~15 min android-e2e 📄 log
187da73 #5 2019-08-05 14:15:29 ~16 min android 📄 log
e43aa96 #6 2019-08-06 16:33:18 ~11 min ios 📄 log
e43aa96 #6 2019-08-06 16:35:09 ~13 min android-e2e 📄 log
e43aa96 #6 2019-08-06 16:38:30 ~16 min android 📄 log
✔️ 74228a9 #7 2019-08-06 17:21:40 ~11 min ios 📦 ipa
✔️ 74228a9 #7 2019-08-06 17:22:08 ~12 min android-e2e 📦 apk
✔️ 74228a9 #7 2019-08-06 17:26:29 ~16 min android 📦 apk
✔️ 7554579 #8 2019-08-06 17:39:39 ~11 min ios 📦 ipa
✔️ 7554579 #8 2019-08-06 17:39:49 ~11 min android 📦 apk
✔️ 7554579 #8 2019-08-06 17:40:31 ~12 min android-e2e 📦 apk
cb16d32 #9 2019-08-07 08:30:32 ~11 min android-e2e 📄 log
cb16d32 #9 2019-08-07 08:30:33 ~11 min ios 📄 log
cb16d32 #9 2019-08-07 08:30:53 ~11 min android 📄 log
✔️ 0e90f3d #10 2019-08-07 09:28:51 ~9 min android 📦 apk
✔️ 0e90f3d #10 2019-08-07 09:29:05 ~9 min android-e2e 📦 apk
✔️ 0e90f3d #10 2019-08-07 09:35:12 ~15 min ios 📦 ipa
eb1b38f #11 2019-08-08 09:05:33 ~11 min ios 📄 log
✔️ eb1b38f #11 2019-08-08 09:07:44 ~13 min android-e2e 📦 apk
eb1b38f #11 2019-08-08 09:11:06 ~16 min android 📄 log
7af036a #13 2019-08-08 09:33:15 ~10 min ios 📄 log
7af036a #13 2019-08-08 09:35:01 ~12 min android-e2e 📄 log
7af036a #13 2019-08-08 09:42:55 ~20 min android 📄 log
f51c36b #14 2019-08-08 10:48:04 ~11 min android-e2e 📄 log
f51c36b #14 2019-08-08 10:48:23 ~11 min ios 📄 log
f51c36b #14 2019-08-08 10:51:14 ~14 min android 📄 log
8bc7d39 #15 2019-08-08 11:16:41 ~10 min android-e2e 📄 log
8bc7d39 #15 2019-08-08 11:17:54 ~11 min ios 📄 log
8bc7d39 #15 2019-08-08 11:18:59 ~12 min android 📄 log
✔️ 9fa8db9 #16 2019-08-08 12:03:47 ~11 min ios 📦 ipa
✔️ 9fa8db9 #16 2019-08-08 12:05:46 ~13 min android 📦 apk
✔️ 9fa8db9 #16 2019-08-08 12:10:50 ~18 min android-e2e 📦 apk
✔️ fbdd308 #17 2019-08-08 13:03:00 ~10 min android 📦 apk
✔️ fbdd308 #17 2019-08-08 13:03:26 ~11 min ios 📦 ipa
✔️ fbdd308 #17 2019-08-08 13:06:07 ~13 min android-e2e 📦 apk
✔️ 2b4d708 #18 2019-08-08 15:28:25 ~9 min android-e2e 📦 apk
✔️ 2b4d708 #18 2019-08-08 15:30:47 ~12 min ios 📦 ipa
✔️ 2b4d708 #18 2019-08-08 15:33:17 ~14 min android 📦 apk
✔️ dd1c391 #19 2019-08-08 17:01:34 ~11 min ios 📦 ipa
✔️ dd1c391 #19 2019-08-08 17:02:42 ~12 min android 📦 apk
✔️ dd1c391 #19 2019-08-08 17:02:50 ~12 min android-e2e 📦 apk
✔️ d47f6e9 #20 2019-08-09 12:50:06 ~12 min android 📦 apk
✔️ d47f6e9 #20 2019-08-09 12:50:08 ~12 min ios 📦 ipa
✔️ d47f6e9 #20 2019-08-09 12:50:52 ~13 min android-e2e 📦 apk
78010ab #22 2019-08-09 14:06:01 ~6 min android-e2e 📄 log
✔️ 78010ab #22 2019-08-09 14:10:45 ~11 min ios 📦 ipa
✔️ 78010ab #22 2019-08-09 14:12:25 ~13 min android 📦 apk
✔️ 78010ab #23 2019-08-09 14:53:28 ~12 min android-e2e 📦 apk
✔️ 4b850ee #23 2019-08-12 10:53:56 ~11 min ios 📦 ipa
4b850ee #24 2019-08-12 11:00:39 ~18 min android-e2e 📄 log
4b850ee #23 2019-08-12 11:02:24 ~20 min android 📄 log
4b850ee #24 2019-08-12 11:29:23 ~10 min android 📄 log
4b850ee #25 2019-08-12 11:34:41 ~15 min android-e2e 📄 log
c595a75 #24 2019-08-12 13:37:42 ~2 min ios 📄 log
c595a75 #26 2019-08-12 13:38:27 ~3 min android-e2e 📄 log
c595a75 #25 2019-08-12 13:38:45 ~3 min android 📄 log
ca0e2ce #25 2019-08-12 13:51:17 ~2 min ios 📄 log
✔️ feb97e9 #26 2019-08-12 14:02:32 ~11 min ios 📦 ipa
✔️ feb97e9 #28 2019-08-12 14:03:10 ~12 min android-e2e 📦 apk
✔️ feb97e9 #27 2019-08-12 14:08:05 ~16 min android 📦 apk
✔️ 1b37891 #27 2019-08-12 16:40:39 ~11 min ios 📦 ipa
✔️ 1b37891 #29 2019-08-12 16:42:17 ~13 min android-e2e 📦 apk
✔️ 1b37891 #28 2019-08-12 16:43:33 ~14 min android 📦 apk
71fbd73 #29 2019-08-13 15:50:57 ~10 min ios 📄 log
71fbd73 #30 2019-08-13 15:54:35 ~13 min android 📄 log
✔️ 71fbd73 #31 2019-08-13 16:03:34 ~22 min android-e2e 📦 apk
71fbd73 #30 2019-08-13 16:10:28 ~11 min ios 📄 log
c7e847e #31 2019-08-13 16:26:23 ~10 min ios 📄 log
✔️ c7e847e #32 2019-08-13 16:26:59 ~11 min android 📦 apk
✔️ c7e847e #32 2019-08-13 16:35:06 ~19 min android-e2e 📦 apk
c7e847e #32 2019-08-13 17:03:52 ~10 min ios 📄 log
✔️ 52fe67a #33 2019-08-14 14:21:33 ~11 min android 📦 apk
52fe67a #33 2019-08-14 14:21:39 ~11 min ios 📄 log
✔️ 52fe67a #33 2019-08-14 14:23:02 ~13 min android-e2e 📦 apk
36e1e8d #34 2019-08-14 14:42:27 ~10 min ios 📄 log
✔️ 36e1e8d #34 2019-08-14 14:44:52 ~12 min android-e2e 📦 apk
✔️ 36e1e8d #34 2019-08-14 14:47:30 ~15 min android 📦 apk
7241fd7 #35 2019-08-14 14:58:50 ~10 min ios 📄 log
✔️ 7241fd7 #35 2019-08-14 15:00:16 ~11 min android 📦 apk
✔️ 7241fd7 #35 2019-08-14 15:00:17 ~11 min android-e2e 📦 apk
c5a384d #36 2019-08-14 16:13:08 ~3 min ios 📄 log
c5a384d #36 2019-08-14 16:17:21 ~7 min android 📄 log
c5a384d #36 2019-08-14 16:19:21 ~9 min android-e2e 📄 log
Commit #️⃣ Finished (UTC) Duration Platform Result
429820d #37 2019-08-14 16:36:54 ~3 min ios 📄 log
429820d #37 2019-08-14 16:37:43 ~4 min android-e2e 📄 log
b06a90c #38 2019-08-14 16:50:58 ~10 min ios 📄 log
✔️ b06a90c #38 2019-08-14 16:51:36 ~11 min android-e2e 📦 apk
✔️ b06a90c #38 2019-08-14 16:53:50 ~13 min android 📦 apk

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 1, 2019

I need status-go method that takes mnemonic string and returns [address, pubkey] back.

To show this screen:

Screenshot 2019-08-01 18 57 07

Similar to https://github.com/status-im/status-go/blob/476240fbd107fe193096350f5181c32c0539eff0/account/accounts.go#L134 but we don't need to provide password at this point.

@gravityblast do we have such method or it needs to be implemented?

@gravityblast
Copy link
Member

@dmitryn you can use the account generator, here is the documentation: https://github.com/status-im/status-go/blob/develop/account/generator/README.md

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 6, 2019

@gravityblast let me describe flow i should be using, please correct me if i'm wrong as docs are not very clear on methods API:

MultiAccountImportMnemonic(mnemonic) -> String id
MultiAccountDeriveAddresses(id, "m/44'/60'/0'/0/0") -> Map(path, address)

This will get me the address , how to get public key?

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 6, 2019

@gravityblast nevermind, i'm actually seeing public key in method response.

@dmitryn dmitryn marked this pull request as ready for review August 6, 2019 16:22
@dmitryn dmitryn requested a review from a team as a code owner August 6, 2019 16:22
@asemiankevich
Copy link
Contributor

@dmitryn is it ready or still WIP? last builds are failed so e2e can't be executed

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 7, 2019

@asemiankevich it's ready. Just fixed tests, next build should be ready for e2e.

@dmitryn dmitryn changed the title [WIP] Recovery v1 Recovery v1 Aug 7, 2019
@asemiankevich asemiankevich self-assigned this Aug 7, 2019
@statustestbot
Copy link

64% of end-end tests have passed

Total executed tests: 44
Failed tests: 16
Passed tests: 28

Failed tests (16)

Click to expand
1. test_block_user_from_public_chat

Device 2: Wait for OkButton
Device 2: Wait for ContinueButton

Device 2: 'PassphraseInput' is not found on the screen

Device sessions

2. test_send_transaction_from_daap

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

3. test_deploy_contract_from_daap

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

4. test_open_transaction_on_etherscan

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

5. test_sign_typed_message

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

6. test_logcat_send_transaction_from_daap

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

7. test_logcat_send_transaction_from_wallet

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

8. test_send_token_with_7_decimals

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

9. test_modify_transaction_fee_values

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

10. test_send_eth_from_wallet_to_address

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

11. test_logcat_recovering_account

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

12. test_can_add_existing_ens

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

13. test_switch_users_and_add_new_account

Device 1: Tap on ProfileButton
Device 1: Wait for ShareMyProfileButton

Device 1: 'ShareMyProfileButton' is not found on the screen

Device sessions

14. test_send_stt_from_wallet

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

15. test_send_two_transactions_one_after_another_in_dapp

Device 1: Wait for OkButton
Device 1: Wait for ContinueButton

Device 1: 'PassphraseInput' is not found on the screen

Device sessions

16. test_offline_status

Device 1: Tap on PlusButton
Device 1: Wait for StartNewChatButton

Device 1: 'StartNewChatButton' is not found on the screen

Device sessions

Passed tests (28)

Click to expand
1. test_filters_from_daap
Device sessions

2. test_copy_and_paste_messages
Device sessions

3. test_public_chat_messaging
Device sessions

4. test_long_press_to_delete_1_1_chat
Device sessions

5. test_password_in_logcat_sign_in
Device sessions

6. test_text_message_1_1_chat
Device sessions

7. test_add_to_contacts
Device sessions

8. test_unread_messages_counter_1_1_chat
Device sessions

9. test_send_message_in_group_chat
Device sessions

10. test_offline_messaging_1_1_chat
Device sessions

11. test_manage_assets
Device sessions

12. test_long_press_to_delete_public_chat
Device sessions

13. test_send_emoji
Device sessions

14. test_search_chat_on_home
Device sessions

15. test_messaging_in_different_networks
Device sessions

16. test_logcat_sign_message_from_daap
Device sessions

17. test_login_with_new_account
Device sessions

18. test_start_chat_with_ens
Device sessions

19. test_add_contact_from_public_chat
Device sessions

20. test_password_in_logcat_creating_account
Device sessions

21. test_backup_recovery_phrase
Device sessions

22. test_open_google_com_via_open_dapp
Device sessions

23. test_unread_messages_counter_public_chat
Device sessions

24. test_sign_message_from_daap
Device sessions

25. test_user_can_remove_profile_picture
Device sessions

26. test_share_contact_code_and_wallet_address
Device sessions

27. test_refresh_button_browsing_app_webview
Device sessions

28. test_backup_recovery_phrase_warning_from_wallet
Device sessions

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

@hesterbruikman i don't see way to add shadow to tooltip triangle on Android as it doesn't support shadow-* style properties, but only elevation property which seems not working with SVG (we use svg for tooltip triangle icon). So tooltip error without bottom triangle on Android could look like this:

Screenshot 2019-08-14 15 13 22

@hesterbruikman
Copy link
Contributor

@hesterbruikman i don't see way to add shadow to tooltip triangle on Android as it doesn't support shadow-* style properties, but only elevation property which seems not working with SVG (we use svg for tooltip triangle icon). So tooltip error without bottom triangle on Android could look like this:

You might find something useful here, Roman looked into the same issue recently: #8471

@flexsurfer
Copy link
Member

@dmitryn we don't use svg on mobile

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

@hesterbruikman

You might find something useful here, Roman looked into the same issue recently: #8471

I don't see shadow on tooltip there.

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

@flexsurfer

we don't use svg on mobile

SVG icon is used for error tooltip - do you mean we should remove it?
https://github.com/status-im/status-react/blob/fd2c37df7180e00afe19f89b49f26d3d4c1bee41/src/status_im/ui/components/tooltip/views.cljs#L20

@flexsurfer
Copy link
Member

i believe we just didn't rename it, it uses pngs

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

@flexsurfer right, now i see what you mean, there is an image used instead of SVG. I will try to create PNG with shadow then.

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

@hesterbruikman how can i export tooltip triangle png with shadow from Figma?

@hesterbruikman
Copy link
Contributor

@hesterbruikman how can i export tooltip triangle png with shadow from Figma?

Can you check if this works? png in 3 sizes. Find it a bit difficult to tell as the image is white.
Tip@.zip

@hesterbruikman
Copy link
Contributor

Also took a look at the spacing, the text boxes were overlapping in Figma, which probably threw off the spec overlay. With the spacing on the right image below, the Next button should be able to stay above the keybord without conflicting with the hint text.

Next button should come up with Keyboard at all times (disabled+enabled), it currently only moves up when it's enabled at the 12th word. I know you fixed it before so seems like either it doesn't work with Android keyboard yet or the disabled state of the Next button is throwing a fit.

There is no space for Next button, space is taken by hint+margin.

Can you please adjust the spacing. Word count 38px from the text entry box, Hint copy 77px from the text entry box.

It's 38px for words count from text entry. And also 38px for hint from words count (margin is not measured for text entry for hint box, but from words counter)

spacings

@dmitryn
Copy link
Contributor Author

dmitryn commented Aug 14, 2019

Can you check if this works? png in 3 sizes. Find it a bit difficult to tell as the image is white.

@hesterbruikman there is no shadow. Also, even having shadow, i don't think triangle could perfectly match upper box with elevation property – it will overlap box bottom border line.

Maybe we can remove triangle from tooltip box?

@flexsurfer
Copy link
Member

@hesterbruikman @dmitryn @asemiankevich this PR is a blocker for other PRs, could we merge it and fix small issues separately?

@hesterbruikman
Copy link
Contributor

@hesterbruikman there is no shadow. Also, even having shadow, i don't think triangle could perfectly match upper box with elevation property – it will overlap box bottom border line.

Let's merge without; I'll create a bounty to add it later 👍

@dmitryn dmitryn force-pushed the feature/8136-recovery-v1 branch from 36e1e8d to 7241fd7 Compare August 14, 2019 14:48
@asemiankevich
Copy link
Contributor

issue with account recovery is already fixed in @flexsurfer PR

@flexsurfer
Copy link
Member

@dmitryn please resolve conflicts

externs.js Show resolved Hide resolved
@dmitryn dmitryn force-pushed the feature/8136-recovery-v1 branch 2 times, most recently from 429820d to b06a90c Compare August 14, 2019 16:40
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
@dmitryn dmitryn force-pushed the feature/8136-recovery-v1 branch from b06a90c to b635691 Compare August 14, 2019 16:42
@dmitryn dmitryn merged commit b635691 into develop Aug 14, 2019
@delete-merged-branch delete-merged-branch bot deleted the feature/8136-recovery-v1 branch August 14, 2019 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
Development

Successfully merging this pull request may close these issues.