diff --git a/src/main/java/org/qortal/api/model/NodeStatus.java b/src/main/java/org/qortal/api/model/NodeStatus.java index 8dd6b8c2..9d08bb14 100644 --- a/src/main/java/org/qortal/api/model/NodeStatus.java +++ b/src/main/java/org/qortal/api/model/NodeStatus.java @@ -24,7 +24,7 @@ public class NodeStatus { this.isMintingPossible = Controller.getInstance().isMintingPossible(); this.syncPercent = Synchronizer.getInstance().getSyncPercent(); - this.isSynchronizing = this.syncPercent != null; + this.isSynchronizing = Synchronizer.getInstance().isSynchronizing(); this.numberOfConnections = Network.getInstance().getImmutableHandshakedPeers().size(); diff --git a/src/main/java/org/qortal/controller/Synchronizer.java b/src/main/java/org/qortal/controller/Synchronizer.java index 8f543379..d7780909 100644 --- a/src/main/java/org/qortal/controller/Synchronizer.java +++ b/src/main/java/org/qortal/controller/Synchronizer.java @@ -173,6 +173,12 @@ public class Synchronizer extends Thread { public Integer getSyncPercent() { synchronized (this.syncLock) { + // Report as 100% synced if the latest block is within the last 30 mins + final Long minLatestBlockTimestamp = NTP.getTime() - (30 * 60 * 1000L); + if (Controller.getInstance().isUpToDate(minLatestBlockTimestamp)) { + return 100; + } + return this.isSynchronizing ? this.syncPercent : null; } }