do not refresh or republish offers if disconnected from xmr node

This commit is contained in:
woodser 2025-03-09 09:44:20 -04:00 committed by woodser
parent bedd38748e
commit 251a973fd6

View file

@ -1978,6 +1978,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
} }
private boolean preventedFromPublishing(OpenOffer openOffer) { private boolean preventedFromPublishing(OpenOffer openOffer) {
if (!Boolean.TRUE.equals(xmrConnectionService.isConnected())) return true;
return openOffer.isDeactivated() || openOffer.isCanceled() || openOffer.getOffer().getOfferPayload().getArbitratorSigner() == null; return openOffer.isDeactivated() || openOffer.isCanceled() || openOffer.getOffer().getOfferPayload().getArbitratorSigner() == null;
} }
@ -2000,6 +2001,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
if (periodicRefreshOffersTimer == null) if (periodicRefreshOffersTimer == null)
periodicRefreshOffersTimer = UserThread.runPeriodically(() -> { periodicRefreshOffersTimer = UserThread.runPeriodically(() -> {
if (!stopped) { if (!stopped) {
synchronized (openOffers) {
int size = openOffers.size(); int size = openOffers.size();
//we clone our list as openOffers might change during our delayed call //we clone our list as openOffers might change during our delayed call
final ArrayList<OpenOffer> openOffersList = new ArrayList<>(openOffers.getList()); final ArrayList<OpenOffer> openOffersList = new ArrayList<>(openOffers.getList());
@ -2020,6 +2022,7 @@ public class OpenOfferManager implements PeerManager.Listener, DecryptedDirectMe
if (contained) maybeRefreshOffer(openOffer, 0, 1); if (contained) maybeRefreshOffer(openOffer, 0, 1);
}, minDelay, maxDelay, TimeUnit.MILLISECONDS); }, minDelay, maxDelay, TimeUnit.MILLISECONDS);
} }
}
} else { } else {
log.debug("We have stopped already. We ignore that periodicRefreshOffersTimer.run call."); log.debug("We have stopped already. We ignore that periodicRefreshOffersTimer.run call.");
} }