When taking an offer, ack messages for
OfferAvailablilityRequest/Response were failing to be sent with the
following error.
> Jun-23 22:35:38.129 [JavaFX Application Thread] ERROR
> b.c.o.a.OfferAvailabilityProtocol: AckMessage for
> OfferAvailabilityResponse failed. AckMessage=AckMessage{
> uid='8779f9ae-22e9-4f16-bbbb-4da89fe23cdf',
> senderNodeAddress=localhost:3333,
> sourceType=OFFER_MESSAGE,
> sourceMsgClassName='OfferAvailabilityResponse',
> sourceUid='df1a50c5-c6e7-4c81-8ad4-a100d622a053',
> sourceId='pexluolj-2e5e5d9f-5aca-4a3d-b66a-60b72afe3d2c-112',
> success=true,
> errorMessage='null'
> } NetworkEnvelope{
> messageVersion=12
> }, makersNodeAddress=localhost:3632, errorMessage=We did not send the
> EncryptedMessage because the peer does not support the capability.
Instead of the 3 minutes delay we set the flag from the lite node once
the blocks are received. We delay 20 seconds to allow multiple getBlocksRequests
to finish.
As soon we are over our connection target we start disconnecting seed
nodes though that can be too early as getBlocks requests are still
pending. We delay the disconnect seed handling to 3 minutes after our
first connection so give it enough time to receive the getBlocksResponse.
When we request at startup the blocks from a seed which has not yet
received out capabilities or node address we will not get a response.
We do not want to depend on the state in the getData domain in the
p2p network by using only a seed which has already responded but we
prefer to make sure the seednode will get all the data by our request
to be able to respond.
A recent change in the netlayer is now seeing exceptions wrapped in
a TorCtlException if an error occurs while setting up Tor.
So when an issue such as "Auth cookie not created" (#2398) occurs,
which was previously raised as an IOException, it was restarting Tor
rather than showing the error message to the user.