[bisq-network/bisq] Wait for AckMessage before completing BuyerSendCounterCurrencyTransferStartedMessage task (#5401)

jmacxx notifications at github.com
Fri Apr 9 18:00:11 CEST 2021


Fixes `seller-cant-confirm` issue by transitioning past `BuyerSendCounterCurrencyTransferStartedMessage` only after an `AckMessage` response.  Previously it would transition upon mailbox message delivery.

Scenario from log of issue `aTPPev` (and others) : 

- Alice creates an offer to buy.  Bob takes the offer.  Blockchain confirms.
- Alice initiates fiat payment and clicks on Payment sent.
- 12 seconds later Alice clicks Payment sent.
- 11 seconds later Alice clicks Payment sent.
- 12 seconds later Alice clicks Payment sent.
- 9 seconds later Alice log receives "Message arrived at peer" (4 times).
- Alice transitions to the next step and no longer has the option to click Payment sent.
- [10 hours passes], Ack message has **not** been received from Bob.
- Bob is still waiting for `BuyerSendCounterCurrencyTransferStartedMessage`, so he can not click on "Payment received".
- Alice and Bob exchange chat messages and eventually open a Dispute.


In the scenario above, Alice would keep being prompted to "send confirmation again" (until she receives AckMessage) and eventually DM with Bob to ask what the issue is.  

- Bob might say he has **not** received payment notification, he could restart Bisq and maybe the message would go through,
- or Bob might have already transitioned to showing the "Confirm Payment Receipt" button, and therefore could pay out the trade.
- The trade can be paid out normally even if Alice has the Payment started button showing.  As long as Bob processes a `BuyerSendCounterCurrencyTransferStartedMessage` => can click "Confirm Payment Receipt".
- This fix gives more chance for `BuyerSendCounterCurrencyTransferStartedMessage` to be re-sent.

![image](https://user-images.githubusercontent.com/47253594/114205635-1f6a5e80-9920-11eb-848a-0c356f2febc3.png)




tag @chimp1984 pls :eyes: 
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/5401

-- Commit Summary --

  * Wait for AckMessage before completing task

-- File Changes --

    M core/src/main/java/bisq/core/trade/protocol/tasks/buyer/BuyerSendCounterCurrencyTransferStartedMessage.java (20)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/5401.patch
https://github.com/bisq-network/bisq/pull/5401.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/5401
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210409/222e713a/attachment.htm>


More information about the bisq-github mailing list