-
Notifications
You must be signed in to change notification settings - Fork 54
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
feat(Send): Fee breakdown table #606
Conversation
Yes, this is poorly worded. The limit is fixed and the fee is chosen randomly below the limit. I'll let @theborakompanioni answer the rest. I assume you've read https://jamdocs.org/market/fees/ and the linked note on fees? |
Hey @httpiga, sorry for the late reply.
These can be loaded with function
Already addressed by @dergigi above. Agree, wording is not clear and should be improved.
These values must be set in order for collaborative transactions to work. JM does not provide default values and will use Currently, Jam will only prompt a user to set them manually, after an attempt to invoke a collaborative transaction fails ("Config variables 'max_cj_fee_rel' and 'max_cj_fee_abs' must be set in your joinmarket.cfg in order to send collaborative transactions. Consider adding them to your config manually."). This can also be improved, as the fee settings are now loaded immediately and the fee values should already be present.
e.g. See the code in
Hope I could give a better insight. Tricky topic. Please do not hesitate to ask further questions if something is not clear. |
I'm not sure about the correctness of using useEffect inside the useFeeConfigValues hook, in particular regarding the effectiveness of the cleanup function (including `abortCtrl.abort()`)
Hello there! I tried simplifying this section and making it more clear to the end user, especially about the logic behind the fee mechanism. Base caseCase "amount lower than absolute and relative max fee" -> max fee = amountCase "absolute fee = max estimated fee"Case "relative fee = max estimated fee"Tooltip (text and formatting to be improved)What do you think about this?
|
thank you for the hard work! your time is very appreciated quick feedback from my side:
what do you think? |
Thank you all guys for your feedback! regarding the table UI, I see what you mean, what do you think about this visualization?
The critical point that I see here is that, to preserve clarity for the user, we should keep the fee estimate calculation explicit, in the form of |
Additionally, while developing this feature and playing around with amounts and fee limits, I noticed that fee limits impacts differently depending on the amounts you're using: for large amounts, one may wants to keep relative fee as low as possible, so that it will be lower than the absolute limit. On the other hands, for small amounts one may wants to keep absolute fee limit as low as possible, so that it will be lower than the relative limit. This is obvious from a mathematical point of view, but (for now) isn't so explicit in Jam's UI. For example, I may have set, let's say, a max fee of 200sats or 0.1% per collaborator, thinking that 0.1% is a small amount. I won't be aware that in most cases 0.1% is way higher than 200sats, and so I risk to always pay more fees than I wanted to. I think that this feature, if well implemented, could bring a lot of value to the users when it comes to correctly adjust their fee limits depending on their volumes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that hover tooltip is in light mode, and I'd prefer to avoid paying for the user's medical bill from the resulting bleeding eyes...
Dark mode should be consistently dark, maybe a different shade of black for the tooltip box?
@MaxHillebrand 😂 Done! |
@editwentyone I'm pinging you just in case you missed my last comment, let me know what you think about it! |
@httpiga i like the idea to tell the user based on their amaount what fee option to use and calculacte / predict it as precise as possible. any ideas how that could look like? or is this a task for me ;) |
@editwentyone I thought that the user would estimate by themself what fee option to use, but suggesting the lower one based on the amount sounds better! It shouldn't be hard at this point but I'd address it on a separate PR. In order to close this one, what I wish from you is feedback about my proposal about the table UI in response to your previous comment |
@httpiga so, after finally looking at and thinking about the fee table, we can make it way easier but more precise to communicate what costs are coming up, I will have a call with tbk and propose something asap. right now neither my initial nor yours makes a lot of sense (sorry to realize that so late) without modifying it further. hope its ok for you to wait a bit and then tackle it again. |
I'm totally fine with it, thank you for taking care of this! |
hey, so I came up with something different, hope it is clearer and if not, we really need to consider to remove it all together. looking forward to your feedback. also I did more than just the fee breakdown, you will see in the video.
fees-button-summary_rf28.mp4 |
I like everything except the button behaviour.. I am not the one to actually suggest UI stuff, but it seems a little bit more complex (especially on mobile - where there is no "hovering") and is a bit confusing (for me). The current approach seems simpler.. 🤔 What do you think @httpiga ? (However, I like the new fee summary better than the current "table"!) |
validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
@httpiga Ready for review? Let me know if you are okay with the latest adaptions 🙏 |
Note: It does not play too nicley with missing And since the fee values are now loaded in the component, we can finally refactor/remove the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tACK. Handling missing fee config values needs to be done in a follow-up PR, other than that, I feel this is ready to be merged 🚀
Great work @httpiga . Thanks for your endurance and for sticking to it, even when requirements changed during development 🧡 |
Resolves #632.
Hello people! 🧡
I'm trying to implement the fee breakdown table in the send page, as designed in the Figma project.
UI seems ready (see screenshot below), but befor implementing the logic I need to better understand how fees work in Jam 😄