Harden background header synchronization

This commit is contained in:
Vexta Project 2026-08-15 14:51:46 +00:00
commit b0f32d1a6a

View file

@ -803,6 +803,8 @@ class WalletActivity : FragmentActivity() {
try { try {
val chain = HeaderSync.loadCachedChain(this) val chain = HeaderSync.loadCachedChain(this)
val syncErrors = mutableListOf<String>()
for (peer in listOf("87.106.99.23", "74.208.53.160")) { for (peer in listOf("87.106.99.23", "74.208.53.160")) {
try { try {
val result = HeaderSync.syncFromPeer(peer, chain) val result = HeaderSync.syncFromPeer(peer, chain)
@ -810,10 +812,23 @@ class WalletActivity : FragmentActivity() {
if (result.received > 0) { if (result.received > 0) {
HeaderSync.saveChain(this, chain) HeaderSync.saveChain(this, chain)
} }
} catch (_: Exception) { } catch (e: Exception) {
syncErrors.add(
"$peer: ${e.message ?: e.javaClass.simpleName}"
)
} }
} }
if (chain.last().height <= 0) {
runOnUiThread {
blockchainScanRunning = false
blockchainScanStatus?.text =
"Block-header synchronization failed.\n" +
syncErrors.joinToString("\n")
}
return@Thread
}
runOnUiThread { runOnUiThread {
runBlockchainScan() runBlockchainScan()
} }