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

Qt: Redesign Tx History tab #420

Open
kristapsk opened this issue Oct 17, 2019 · 1 comment
Open

Qt: Redesign Tx History tab #420

kristapsk opened this issue Oct 17, 2019 · 1 comment

Comments

@kristapsk
Copy link
Member

I see multiple problems with current implementation of "Tx History" tab in JoinMarket-Qt.

  • It is different than wallet-tool's history output.
  • It is saved in a single file which isn't tied to wallet. You have it there even before wallet is loaded and when wallet is loaded you can have there transactions from different wallet or even from multiple wallets together, that is confusing.
  • Transactions not sent from the Qt will not appear there at all.

We can't just use wallet-tool's approach here, as it is slow. What I propose is that we base on that code, but cache the result in either: a) wallet file, b) some additional file (like, wallet.jmdat.cache), c) use the same history_file, but add wallet info for each tx. Then, when new wallet is loaded, it could in some background thread analyze wallet history and slowly populate the table in "Tx History" tab (some indicator that tx history is being still analyzed would be needed, of course). Also, instead of using existing persistTxToHistory approach, it could be updated when wallet balance is automatically refreshed. This would also automatically add to tx history transactions potentially made by some other wallet controlling private keys of specific JM wallet. See also my comments on #414.

@AdamISZ
Copy link
Member

AdamISZ commented Oct 17, 2019

I agree with your general line of thought here (nitpick: not thread, we're all async here, but same principle).

Since it seems that people are now seriously looking into polishing up the functionality in Qt, I am reminded of something (partly because you're correctly raising the point of how and where we persist data): we should move all user data to ~/.joinmarket, see my answer to #62 (short version: I already wrote that code but didn't implement it here to avoid another point of confusion while people were moving to this repo). I think we should do that first before getting serious about making all these features of Qt move from "the most basic thing that works" to something more like a good-quality wallet UI.

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

No branches or pull requests

2 participants