mirror of
https://github.com/bisq-network/bisq.git
synced 2025-01-18 21:35:03 +01:00
Merge pull request #5427 from jmacxx/fix_issue_5334
Show a SPV resync suggestion if trade remains unconfirmed for 3 hours or more
This commit is contained in:
commit
de76bd051b
@ -594,6 +594,11 @@ portfolio.pending.invalidTx=There is an issue with a missing or invalid transact
|
|||||||
Open a support ticket to get assistance from a Mediator.\n\n\
|
Open a support ticket to get assistance from a Mediator.\n\n\
|
||||||
Error message: {0}
|
Error message: {0}
|
||||||
|
|
||||||
|
portfolio.pending.unconfirmedTooLong=Security deposit transaction on trade {0} is still unconfirmed after {1} hours. \
|
||||||
|
Check the deposit transaction at a blockchain explorer. If it has been confirmed but it's not being displayed \
|
||||||
|
at Bisq, make a data backup and a SPV resync. [HYPERLINK:https://bisq.wiki/Resyncing_SPV_file]\n\n\
|
||||||
|
Contact Bisq support [HYPERLINK:https://keybase.io/team/bisq] if you have doubts or the issue persists.
|
||||||
|
|
||||||
portfolio.pending.step1.waitForConf=Wait for blockchain confirmation
|
portfolio.pending.step1.waitForConf=Wait for blockchain confirmation
|
||||||
portfolio.pending.step2_buyer.startPayment=Start payment
|
portfolio.pending.step2_buyer.startPayment=Start payment
|
||||||
portfolio.pending.step2_seller.waitPaymentStarted=Wait until payment has started
|
portfolio.pending.step2_seller.waitPaymentStarted=Wait until payment has started
|
||||||
|
@ -33,6 +33,7 @@ import bisq.core.support.dispute.DisputeResult;
|
|||||||
import bisq.core.support.dispute.mediation.MediationResultState;
|
import bisq.core.support.dispute.mediation.MediationResultState;
|
||||||
import bisq.core.trade.Contract;
|
import bisq.core.trade.Contract;
|
||||||
import bisq.core.trade.Trade;
|
import bisq.core.trade.Trade;
|
||||||
|
import bisq.core.user.DontShowAgainLookup;
|
||||||
import bisq.core.user.Preferences;
|
import bisq.core.user.Preferences;
|
||||||
import bisq.core.util.FormattingUtils;
|
import bisq.core.util.FormattingUtils;
|
||||||
|
|
||||||
@ -69,6 +70,9 @@ import org.fxmisc.easybind.Subscription;
|
|||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -730,6 +734,18 @@ public abstract class TradeStepView extends AnchorPane {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void checkForTimeout() {
|
||||||
|
long unconfirmedHours = Duration.between(trade.getTakeOfferDate().toInstant(), Instant.now()).toHours();
|
||||||
|
if (unconfirmedHours >= 3 && !trade.hasFailed()) {
|
||||||
|
String key = "tradeUnconfirmedTooLong_" + trade.getShortId();
|
||||||
|
if (DontShowAgainLookup.showAgain(key)) {
|
||||||
|
new Popup().warning(Res.get("portfolio.pending.unconfirmedTooLong", trade.getShortId(), unconfirmedHours))
|
||||||
|
.dontShowAgainId(key)
|
||||||
|
.closeButtonText(Res.get("shared.ok"))
|
||||||
|
.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// TradeDurationLimitInfo
|
// TradeDurationLimitInfo
|
||||||
|
@ -39,6 +39,7 @@ public class BuyerStep1View extends TradeStepView {
|
|||||||
super.onPendingTradesInitialized();
|
super.onPendingTradesInitialized();
|
||||||
validatePayoutTx();
|
validatePayoutTx();
|
||||||
validateDepositInputs();
|
validateDepositInputs();
|
||||||
|
checkForTimeout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@ public class SellerStep1View extends TradeStepView {
|
|||||||
protected void onPendingTradesInitialized() {
|
protected void onPendingTradesInitialized() {
|
||||||
super.onPendingTradesInitialized();
|
super.onPendingTradesInitialized();
|
||||||
validateDepositInputs();
|
validateDepositInputs();
|
||||||
|
checkForTimeout();
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
Reference in New Issue
Block a user