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

Master Issue List #11

Open
3 of 8 tasks
ukane-philemon opened this issue Jul 10, 2024 · 10 comments
Open
3 of 8 tasks

Master Issue List #11

ukane-philemon opened this issue Jul 10, 2024 · 10 comments

Comments

@ukane-philemon
Copy link

ukane-philemon commented Jul 10, 2024

This is going to be a single list of issues discovered from Cake Wallet Testing. Issues added here that seem to be upstream related can be commented on and we can create an upstream issue. I'll upload this issue list from time to time.

  • Rescan button should be hidden if wallet is not ready for a rescan : I noticed this error when I attempted rescan on a newly created wallet(before it finished syncing):
Screenshot 2024-07-05 at 4 24 10 PM
  • Newly created dcr wallet does not show an address but it isn't the same with a newly created btc wallet.
Screenshot 2024-07-05 at 3 56 10 PM
  • Node entry displays as connected but the wallet isn't:
Screenshot 2024-07-05 at 3 50 18 PM
  • Clicking on an information card on the dcr wallet page causes a screen display error:
Screenshot 2024-07-05 at 3 44 43 PM Screenshot 2024-07-05 at 3 44 33 PM
  • The rescan page looks off, button not properly aligned
Screenshot 2024-07-05 at 3 43 36 PM
  • dcr wallet exchange page should auto choose another asset by default:
Screenshot 2024-07-05 at 8 38 36 PM
  • Importing a wallet whose seed already exists works (for dcr and btc).

  • Clicking on the Scan Qr btn does nothing (on macos, proly upstream but I doubt if dcr wallet has support for this on mobile):
    image

@JoeGruffins
Copy link
Owner

JoeGruffins commented Jul 10, 2024

@ukane-philemon Thanks! Nice stuff!

Will add these to cake-tech#986 :
Rescan button should be hidden if wallet is not ready for a rescan : I noticed this error when I attempted rescan on a newly created wallet(before it finished syncing): (probably add to todo, I don't want to mess with ui too much)
Newly created dcr wallet does not show an address but it isn't the same with a newly created btc wallet. (I think I already have a todo for this, it's because not synced yet, we should say that somewhere, another UI think I rather not do in the first pr...)
Node entry displays as connected but the wallet isn't: (Currently we only check if this is a pingable port, which is the same they do for electrum, so it's probably fine but it could be smarter. Unsure of a simple way to make it smarter though. I guess we send a version request to the port and see if it's a dcrd response? pretty involved though)

Will try to fix these in the current pr:
The rescan page looks off, button not properly aligned
Clicking on an information card on the dcr wallet page causes a screen display error: (this sounds like a bug on their part but maybe I missed something. If our bug maybe should fix in the current pr)
dcr wallet exchange page should auto choose another asset by default: (I don't know if we even have exchange capabilities? Havent tested this at all. What exchange? Maybe should disable this page for now? I'm pretty sure we didn't promise exchange capabilities in the proposal?)

Unsure if a problem:
Importing a wallet whose seed already exists works (for dcr and btc). (intenended? I know cryptopower doesn't allow this...)
Clicking on the Scan Qr btn does nothing (on macos, proly upstream but I doubt if dcr wallet has support for this on mobile): (have not tried but I will... we can maybe disable the option at least since I don't know where one would get a wallet qr code)

@ukane-philemon
Copy link
Author

Thanks for yor input @JoeGruffins. I'm yet to test on ios.

As for the last the last two issues you sited, I'm not sure if it's intended until the cake wallet team say something about them.

@ukane-philemon
Copy link
Author

ukane-philemon commented Jul 14, 2024

New Issues:

Importing a wallet whose seed already exists works (for dcr and btc). (intenended? I know cryptopower doesn't allow this...)

The wallet becomes watch-only and users are not able to send from it. However, the send and exchange btns remains active and the user gets an error:

Screenshot 2024-07-14 at 10 13 29 PM Screenshot 2024-07-14 at 10 14 46 PM
  • DCR Wallet address is not shown when the wallet is disconnected or it just reconnected but we were already on the view address page. (I think we should still show the wallet address connected or not, btc does)
Screenshot 2024-07-14 at 9 36 29 PM
  • Moved to DCR Wallet QR code has no data #21
  • Missing transaction history: I sent 500 and 45 dcr to the same address at the same time. But got only the transaction history for the first transaction. Addressed by: 1e9fa02
Screenshot 2024-07-14 at 9 41 58 PM Screenshot 2024-07-14 at 9 41 35 PM

But the desc I used for the first and second tx were combined. Also, the tx note field is editable, it shouldn't be.
Screenshot 2024-07-14 at 9 43 10 PM

Upstream issues I think:

  • AnonPay page is wonky, seems there's an overflow.
Screenshot 2024-07-14 at 9 56 42 PM
  • Address book is bugged. it creates a new field entry and uses the title as the wallet address and error

  • Cake wallet keychain store is nameless.

Screenshot 2024-07-14 at 12 00 13 PM
  • This page makes an API call and API error response (403 HTTP code) is not properly propagated to the user. The screen continues to load until user leaves the page.
Screenshot 2024-07-14 at 12 01 08 PM
  • The wallet dropdown selection froze after I left the wallet app running for a long time:
Another exception was thrown: 'package:flutter/src/material/dropdown.dart': Failed assertion: line 1339 pos 12: '_dropdownRoute == null': is not true.
flutter: ══╡ EXCEPTION CAUGHT BY GESTURE ╞════════════════════════════════
flutter: The following assertion was thrown while handling a gesture:
flutter: 'package:flutter/src/material/dropdown.dart': Failed assertion:
flutter: line 1339 pos 12: '_dropdownRoute == null': is not true.
flutter: 
flutter: Either the assertion indicates an error in the framework itself,
flutter: or we should provide substantially more information in this error
flutter: message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on
flutter: GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=2_bug.yml
flutter: 
flutter: When the exception was thrown, this was the stack:
flutter: #2      _DropdownButtonState._handleTap (package:flutter/src/material/dropdown.dart:1339:12)
flutter: #3      _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183:21)
flutter: #4      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:315:24)
flutter: #5      TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652:11)
flutter: #6      BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309:5)
flutter: #7      BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:242:7)
flutter: #8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:670:9)
flutter: #9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
flutter: #10     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
flutter: #11     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:633:13)
flutter: #12     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
flutter: #13     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
flutter: #14     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:495:19)
flutter: #15     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475:22)
flutter: #16     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:430:11)
flutter: #17     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:420:7)
flutter: #18     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383:5)
flutter: #19     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330:7)
flutter: #20     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299:9)
flutter: #24     _invoke1 (dart:ui/hooks.dart:330:10)
flutter: #25     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429:7)
flutter: #26     _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)
flutter: (elided 5 frames from class _AssertionError and dart:async)
flutter: 
flutter: Handler: "onTap"
flutter: Recognizer:
flutter:   TapGestureRecognizer#39fb5
flutter: ═════════════════════════════════════════════════════════════════

  • The date picker on the btc rescan page was unresponsive after running the wallet for a long time:

flutter: ═════════════════════════════════════════════════════════════════
flutter: 
Another exception was thrown: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 4821 pos 12: '!_debugLocked': is not true.
flutter: ══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞══════════════════════
flutter: The following assertion was thrown:
flutter: 'package:flutter/src/widgets/navigator.dart': Failed assertion:
flutter: line 4821 pos 12: '!_debugLocked': is not true.
flutter: 
flutter: Either the assertion indicates an error in the framework itself,
flutter: or we should provide substantially more information in this error
flutter: message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on
flutter: GitHub:
flutter:   https://github.com/flutter/flutter/issues/new?template=2_bug.yml
flutter: 
flutter: When the exception was thrown, this was the stack:
flutter: #2      NavigatorState._pushEntry (package:flutter/src/widgets/navigator.dart:4821:12)
flutter: #3      NavigatorState.push (package:flutter/src/widgets/navigator.dart:4778:5)
flutter: #4      showDialog (package:flutter/src/material/dialog.dart:1423:65)
flutter: #5      showDatePicker (package:flutter/src/material/date_picker.dart:246:10)
flutter: #6      _buildMaterialDataPicker (package:cake_wallet/utils/date_picker.dart:23:16)
flutter: #7      getDate (package:cake_wallet/utils/date_picker.dart:15:10)
flutter: #8      BlockchainHeightState._selectDate (package:cake_wallet/src/widgets/blockchain_height_widget.dart:161:24)
flutter: #9      BlockchainHeightState.build.<anonymous closure> (package:cake_wallet/src/widgets/blockchain_height_widget.dart:107:32)
flutter: #10     _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183:21)
flutter: #11     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:315:24)
flutter: #12     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652:11)
flutter: #13     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309:5)
flutter: #14     BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:242:7)
flutter: #15     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:670:9)
flutter: #16     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:98:12)
flutter: #17     PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:143:9)
flutter: #18     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:633:13)
flutter: #19     PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:141:18)
flutter: #20     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:127:7)
flutter: #21     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:495:19)
flutter: #22     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:475:22)
flutter: #23     RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:430:11)
flutter: #24     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:420:7)
flutter: #25     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:383:5)
flutter: #26     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:330:7)
flutter: #27     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:299:9)
flutter: #31     _invoke1 (dart:ui/hooks.dart:330:10)
flutter: #32     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:429:7)
flutter: #33     _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)
flutter: (elided 5 frames from class _AssertionError and dart:async)
flutter: ═════════════════════════════════════════════════════════════════

@JoeGruffins
Copy link
Owner

Clicking on "Your wallet is syncing" paned on Android takes you to your web browser so I think their bug if it's not working on mac
Screenshot_20240716_175934_Chrome

@JoeGruffins
Copy link
Owner

Some of your new issues don't seem to be dcr specific. Will add the one about our qr code needing something useful to the TODOS

@JoeGruffins
Copy link
Owner

But the desc I used for the first and second tx were combined. Also, the tx note field is editable, it shouldn't be.

I think the note field should be editable, its for user notes?

@ukane-philemon
Copy link
Author

But the desc I used for the first and second tx were combined. Also, the tx note field is editable, it shouldn't be.

I think the note field should be editable, its for user notes?

That's an already concluded transaction. Besides, the note was from the sender, a receiver shouldn't be able to edit it.

@ukane-philemon
Copy link
Author

Some of your new issues don't seem to be dcr specific. Will add the one about our qr code needing something useful to the TODOS

Yeah, I listed everything I could find, maybe the cake team would be interested in fixing them.

I proly should create an upstream issue master list yeah?

@JoeGruffins
Copy link
Owner

Adding another bug found by you.

  • wallet is not found on ios:
  1. I've noticed that creating a dcr wallet on iphone takes a considerable amount of time to finish, ~70sec+.
  2. There's something wrong with the wallet data path(as observed on iphone). You create a wallet, restart the app and the wallet dir no longer exists. I've investigated the issue but I've got only some information.
    a. Even when a new wallet is created, args["dataDir"] does not exist.
    b. args["dataDir"] is the same as walletInfo.dirPath.
flutter: create walletflutter: create wallet
flutter: /var/mobile/Containers/Data/Application/4B56953B-9A65-49F4-82B0-6BABCF5D4253/Documents/wallets/decred/Cylindrical Layer # print(args["dataDir"]!);
flutter: false # print(File(args["dataDir"]!).existsSync());
flutter: create wallet end
flutter: /var/mobile/Containers/Data/Application/4B56953B-9A65-49F4-82B0-6BABCF5D4253/Documents/wallets/decred/Cylindrical Layer # print(args["dataDir"]!);
flutter: false # print(File(args["dataDir"]!).existsSync());
flutter: create wallet end

After a restart:

flutter: load wallet
flutter: /var/mobile/Containers/Data/Application/4B56953B-9A65-49F4-82B0-6BABCF5D4253/Documents/wallets/decred/Cylindrical Layer # print(args["dataDir"]!)
flutter: false # print(File(args["dataDir"]!).existsSync();
flutter: load wallet end

@ukane-philemon
Copy link
Author

Other Issues(so I don't forget to check back):

DCR send form does not handle ALL option. It tries to parse it as a double instead of sweeping the wallet.
Fee estimation is not shown on the form as they have for btc.
USD price value is not shown(on my end).
Switching btw dcr wallets or from other wallets to dcr take about ~25 secs on ios.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants