Closed nanostos closed 4 months ago
The real problem here is that a confirmation can take from 5 to 30 seconds with the Mymonero API. Best would be to try and make this instant as soon as a TX hits the mempool. I am not all for adding extra buttons.
I've played around with the app for a long time, and I would not have thought there was any issue at all. It's only with the real world testing that I'm seeing these issues play out.
The delay really is painful because it all adds up a bit. It already takes a while for the customer to open their wallet, enter pin, go to send screen, tap scan, aim at QR, tap confirm. Monero txns often also take a while to construct before being sent. Even just regular wallet to wallet txns take minimum 13 seconds in my experience, even if not relying on MyMonero API. Probably something to do with Dandelion++ that hides IP of origin, but I'm not an expert.
We just need something that performs the function of the share button, without having to actually share the request, so that it goes to the pending list. This is not critical but I just thought I'd report the experience and how I think it could be better.
Edit: I've also noticed that if you were to close the request window (e.g. by accidently tapping outside the window) after the QR has been scanned but before the transaction is detected, there is an issue: once detected, it does show a green notification to indicate a txn was received; however, no txn is recorded under Requests, so you cannot see what amount or to which integrated address it was sent. This is again why I think the user must only be able to close the request either via the option 'save' or 'discard', as I proposed above.
I think adding a save button for now makes the interface less lean, like to keep it as minimum as possible for now. Also because all other coins give instant feedback except monero unfortunately. I am planning to look into other POS apps and see how they get instant feedback. Maybe add the option to sync with a public or personal RPC in the future.
This is in the context of using Bitrequest for an XMR physical point of sale solution.
After experimenting, I figured out that tapping outside of the QR code window and bringing it up again does generate a new integrated address. However, what I imagine would be ideal is to have two buttons instead: 'save and new' + 'discard and new'. The 'save and new' would list the invoice under Requests and mark as paid once detected. This means the cashier doesn't have to stand around for 30 sec and wait for the txn to be detected before moving on to the next customer (or start preparing the product).
The closest way to currently emulate what a 'save and new' button would do is to fake share the invoice, which then seems to save it to the Requests page, after which you then open a new request window.