Closed TobiCrackIT closed 3 years ago
Nice work so far! A couple of things:
I/flutter ( 5014): Error E/flutter ( 5014): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Exception: Exception: type 'Null' is not a subtype of type 'String' E/flutter ( 5014): #0 RestoreWalletProvider.recoverWallet (package:arbor/core/providers/restore_wallet_provider.dart:260:7) E/flutter ( 5014): <asynchronous suspension>
Perhaps disable the "next" button until all 4 words are typed in per screen to avoid empty passwords.
assets/bip39
then use this list for checking each word. If it's not in this list, the user shouldn't be able to leave the word entered. Would it be possible to do "predictive text" ? where as they type a word a drop down appears with the possible words ( from the bip39 spec) and they tap to auto fill. I'm asking this only if easy and quick otherwise just showing something like "invalid word type" if the password word is not in the bip39 list of words is good enough.
Any way to make the last view slide in from the right as well ?
On Android only: I'm seeing an unhandled error with the following steps: a. tap "I already have a wallet" a. tap "Type Secret Phrase" a. tap Next until you get "Restore" a. tap Restore
- Expected: Message in UI or dialog
- Actual:
I/flutter ( 5014): Error E/flutter ( 5014): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Exception: Exception: type 'Null' is not a subtype of type 'String' E/flutter ( 5014): #0 RestoreWalletProvider.recoverWallet (package:arbor/core/providers/restore_wallet_provider.dart:260:7) E/flutter ( 5014): <asynchronous suspension>
- On iOS, in above scenario ( no password entered ) I get a successful password recovery O_o I'd expect to not be let press the "recover" button in the first place. Can you add a check that at least 1 character is required per box in all 12 boxes.
Perhaps disable the "next" button until all 4 words are typed in per screen to avoid empty passwords.
This some weird behaviour because I added validation for the password fields. I'll check it out
- On Android only: One of the screens slides up from the bottom but the rest appear to slide in from the right a. tap "I already have a wallet" a. tap "Type Secret Phrase" a. tap "Next" (slides from right ) a. tap "Next" (slides from right ) a. tap "Next" to see the "Restore" button (slides from bottom )
Any way to make the last view slide in from the right as well ?
Noted
- The password checking is restricted to the BIP39 standard. Please download https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt and store in
assets/bip39
then use this list for checking each word. If it's not in this list, the user shouldn't be able to leave the word entered.Would it be possible to do "predictive text" ? where as they type a word a drop down appears with the possible words ( from the bip39 spec) and they tap to auto fill. I'm asking this only if easy and quick otherwise just showing something like "invalid word type" if the password word is not in the bip39 list of words is good enough.
Predicting passwords reduces security and aids guess work. Users should be able to type in their passwords
- The password checking is restricted to the BIP39 standard. Please download https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt and store in
assets/bip39
then use this list for checking each word. If it's not in this list, the user shouldn't be able to leave the word entered.Would it be possible to do "predictive text" ? where as they type a word a drop down appears with the possible words ( from the bip39 spec) and they tap to auto fill. I'm asking this only if easy and quick otherwise just showing something like "invalid word type" if the password word is not in the bip39 list of words is good enough.
Predicting passwords reduces security and aids guess work. Users should be able to type in their passwords
Normally, I agree, in this case that's not necessarily true. The word list is predefined (and we'll let everyone know it's the BIP39 standard) so the only thing we are doing is helping the user type the words in faster. We aren't storing the user password so we aren't predicting the user's password but giving them options about which words are in the dictionary.
I'm seeing "invalid password" even though I've ended words from the dictionary. The validation text should show up only if the word is not in the dictionary:
On iOS (iPhone SE) the text doesn't fit always esp when the 4th word is being typed. Would it be possible to:
Android only: Any idea why in this branch we are now seeing this in the Console output:
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01``` ?
When the user transitions to the wallet ui after successfully importing the wallet. Can you remove the "<" back button since the user shouldn't be able to go back to the previous UI ?
On iOS (iPhone SE) the text doesn't fit always esp when the 4th word is being typed. Would it be possible to:
- Remove the "1 - 4" text above the first text box
- When the user taps in the first word box, for the keyboard not to block the 4th box
- When the user taps in the first word box, for the info text ( at the top ) not to be hidden ( low priority )
- Change the ellipsis color to white
Do you want the instruction text to remain in one position when other items are scrolled?
Android only: Any idea why in this branch we are now seeing this in the Console output:
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01 Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01 Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01``` ?
I don't have that output here. You probably have 2 different versions of Android build-tools installed. Invalidate cache on Android Studio and restart
On iOS (iPhone SE) the text doesn't fit always esp when the 4th word is being typed. Would it be possible to:
- Remove the "1 - 4" text above the first text box
- When the user taps in the first word box, for the keyboard not to block the 4th box
- When the user taps in the first word box, for the info text ( at the top ) not to be hidden ( low priority )
- Change the ellipsis color to white
Do you want the instruction text to remain in one position when other items are scrolled?
Yes. Ideally:
Again, not a big deal and doesn't have to be implemented if it's more than an hour of work. I'd say once you remove "1-4" and maybe just reduce the space between each text box that might be good enough on the smallest devices (for now).
Latest changes looking good.
Looks good!