Show something useful when Transaction Tab data is loading #97

Open
opened 2 years ago by duke · 7 comments
duke commented 2 years ago
Owner

Currently, upon startup, the Transaction Tab is empty until data is returned from RPCs that could take a minute or more for big wallets. This is confusing for users. We should have some default text or image along the lines of "Transaction data is loading...

Currently, upon startup, the Transaction Tab is empty until data is returned from RPCs that could take a minute or more for big wallets. This is confusing for users. We should have some default text or image along the lines of "Transaction data is loading...
Collaborator

I tried doing something similar to "Loading..." text mentioned in #39 but it did not work as expected. This table's data is loaded differently and I think it keeps updating until fully loaded.

Rather than trying to have a status inside the table directly, it might make more sense and be easier to have another widget above/below the table. Show/hide based on if transactions fully loaded or not. Is there an easy way to know if they are fully loaded?

I tried doing something similar to "Loading..." text mentioned in #39 but it did not work as expected. This table's data is loaded differently and I think it keeps updating until fully loaded. Rather than trying to have a status inside the table directly, it might make more sense and be easier to have another widget above/below the table. Show/hide based on if transactions fully loaded or not. Is there an easy way to know if they are fully loaded?
Collaborator

@duke Updating status bar like this seems to work to at least show something. It should show "Transaction data is loading..." until it adds them, then "Transaction data loaded" for 3 seconds. It should do this every time refreshTransactions is called. A side effect is you won't see thank you message about running full node since this runs on start. 6b6c04404f

@duke Updating status bar like this seems to work to at least show something. It should show "Transaction data is loading..." until it adds them, then "Transaction data loaded" for 3 seconds. It should do this every time `refreshTransactions` is called. A side effect is you won't see thank you message about running full node since this runs on start. https://git.hush.is/hush/SilentDragon/commit/6b6c04404fb0de6f5050b157ecf2bc77944bc1c9
Collaborator

It seemed like this worked OK at first but seems a little funky when sending txs or if it gets called multiple times before it actually updates.

It seemed like this worked OK at first but seems a little funky when sending txs or if it gets called multiple times before it actually updates.
Collaborator

Not sure if this a possible solution for this, or if this is possible with QT stuff, but maybe make the transaction tab inaccessible and display some message on the status bar along those lines until it loads completely and then the tab would be accessible afterwards.

Not sure if this a possible solution for this, or if this is possible with QT stuff, but maybe make the transaction tab inaccessible and display some message on the status bar along those lines until it loads completely and then the tab would be accessible afterwards.
Poster
Owner

we could also show some image or even a funny meme that says "please wait until the data is loaded" or whatever

we could also show some image or even a funny meme that says "please wait until the data is loaded" or whatever
Collaborator

I've seen some different behavior testing this on large wallets that I'm not sure what's possible. I'll have to test if the callback is actually a good signal to know when finished loading or not to maybe disable/enable or show/hide things. I would sometimes see the table not even load with the headings. Sometimes constantly says Transaction data is loading but never updates anything. This large wallet I'm testing on is also weird right now where it's showing red txs with default dates of Dec 31, 19:00:00 1969. It doesn't say there are unconfirmed txs in Balance tab though. It's a recent rescan too. Maybe deleted txs.

I've seen some different behavior testing this on large wallets that I'm not sure what's possible. I'll have to test if the callback is actually a good signal to know when finished loading or not to maybe disable/enable or show/hide things. I would sometimes see the table not even load with the headings. Sometimes constantly says Transaction data is loading but never updates anything. This large wallet I'm testing on is also weird right now where it's showing red txs with default dates of Dec 31, 19:00:00 1969. It doesn't say there are unconfirmed txs in Balance tab though. It's a recent rescan too. Maybe deleted txs.
duke added the
feature
label 1 year ago
duke commented 1 year ago
Poster
Owner

@fekt maybe we can have a static image, defined in the .ui file, and whatever RPC callback starts to update the data will replace that with actual data. This doesn't fix the problem of showing partial data but is better than nothing.

Showing a date of "Dec 31, 19:00:00 1969" is actually the unix epoch time of "0" (Jan 1st 1970) being timezone shifted. Could be related to expired or deleted tx's

@fekt maybe we can have a static image, defined in the .ui file, and whatever RPC callback starts to update the data will replace that with actual data. This doesn't fix the problem of showing partial data but is better than nothing. Showing a date of "Dec 31, 19:00:00 1969" is actually the unix epoch time of "0" (Jan 1st 1970) being timezone shifted. Could be related to expired or deleted tx's
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.