From b0f32d1a6aa0ce40c69c279b6b39dedbbba5e8d6 Mon Sep 17 00:00:00 2001 From: Vexta Project Date: Sat, 15 Aug 2026 14:51:46 +0000 Subject: [PATCH] Harden background header synchronization --- .../org/vextaproject/wallet/WalletActivity.kt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/vextaproject/wallet/WalletActivity.kt b/app/src/main/java/org/vextaproject/wallet/WalletActivity.kt index b469243..fa03e49 100644 --- a/app/src/main/java/org/vextaproject/wallet/WalletActivity.kt +++ b/app/src/main/java/org/vextaproject/wallet/WalletActivity.kt @@ -803,6 +803,8 @@ class WalletActivity : FragmentActivity() { try { val chain = HeaderSync.loadCachedChain(this) + val syncErrors = mutableListOf() + for (peer in listOf("87.106.99.23", "74.208.53.160")) { try { val result = HeaderSync.syncFromPeer(peer, chain) @@ -810,10 +812,23 @@ class WalletActivity : FragmentActivity() { if (result.received > 0) { 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 { runBlockchainScan() }