We do not wait until the offer got removed by a network remove message but remove it
directly from the offer book. The broadcast gets now bundled and has 2 sec. delay so the
removal from the network is a bit slower as it has been before. To avoid that the taker gets
confused to see the same offer still in the offerbook we remove it manually. This removal has
only local effect. Other trader might see the offer for a few seconds
still (but cannot take it).
Support agent can mark a suspicious dispute as resolved so it does not
show the alert icon anymore. In the full report a [ACK] got added to
that dispute.
We apply userName to accountId if it is not set (e.g. new account
created with new version). We do not use that for display or for
account signing in case both fields are the same but we need to use
accountId in case the user trades with a not updated user who expects
accountId as only field.
I improved a bit the display of account data in the trade screens.
In case accountId was set with the phone number (updated account with
phone nr used for account signing) we show both userName and phone nr.
- Show phone number if accountId was set by old account. Otherwise
show only userName
- For old users they will see the user name as phone number displayed
if they trade with new users if the new user has created a new account.
If he has updated an existing account the accountId (phone number) is
used, so it displays the phone number.
- At step 2 changed display of own account data to show account name
- Add 'Recipients' prefix to account data of peer at step 2
Step 3: Buyers account data can be
- Phone number if peer is using old version
- User name if peer is updated user with new account (we apply userName
to accountId)
- Phone number if user is on old version and peer is updated user with
updated account (we keep accountId as phone number)
- User name/Phone number if peer is updated user with updated account
For backward compatibility we need to exclude the new field for
the contract json.
We can remove that after a while when risk that users with
pre 1.3.8 version trade with updated
users is very low.
Some wallets copy the address with a 'monero:' prefix. If user pastes
that directly into the form he gets a validation error. We remove now
that prefix so the input is automatically adjusted to the address only.
The p2pNetworkAndWalletReady MonadicBinding might be removed from GC
if its a local variable. I observed that in BisqSetup with a similar
setup. It might be an implementation weakness in MonadicBinding
(usage of weak references?). A tester reported that he does not see any
result, which might be cause that the service never gets the
onP2pNetworkAndWalletReady triggered if the MonadicBinding is not there
anymore.
By removing the listener we need at shutdown we need it anyway as class
field (so codacy does not complain anymore). As well added a check if
all is already complete to skip the MonadicBinding at all
(not expected case in onAllServicesInitialized).
If we would add DisputeManager to previous structure it would cause a
circular dependency error from guice. We change dependency structure so
that TradeManager does not know XmrTxProofService but XmrTxProofService
gets an instance of TradeManager. It makes code cleaner in total as well
as responsibility is better defined.
Next commit will contain the DisputeManager addition.
at merge.
We keep daoPresentation and accountPresentation support even it is
not used atm. But if we add a new feature and add a badge again it
will be needed.