mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-utils.git
synced 2026-07-09 23:27:30 +00:00
2efab72f83
Root cause of the balances-test hang in pezkuwi-wallet-android (silent for over an hour, cancelled multiple times before finding this): every single chain_id in blocked-chains.json was stale - none matched anything in Nova's current chains.json (last_updated 2026-02-11, ~5 months of upstream chain-id drift since). The blacklist mechanism silently no-opped for all 6 entries, so none of the chains it was meant to exclude were actually excluded. With the blacklist ineffective, several chains with genuinely dead RPC endpoints (confirmed live 2026-07-08: 3DPass, Curio, Quartz, Subsocial - 502s, timeouts, SSL failures) stayed in the merged output. The Android app's ChainConnection/NodeAutobalancer has no backoff/circuit breaker for dead endpoints, so it retried them in an extremely tight loop (~1 attempt/second, 1500-1800+ attempts observed in a 25 minute window per chain) - burning resources indefinitely and starving the app's actual chain-sync/test work, which is what made the Android CI job hang for over an hour with zero progress. Fix: re-verified and corrected all chain_ids (matching by current name against live chains.json), added 3DPass/Curio/Subsocial which weren't blacklisted before, dropped entries for chains no longer present upstream at all (Passet Hub Testnet, Darwinia Crab, DeepBrain, Exosama - nothing to block, kept them as historical noise otherwise). Also added a stale-blacklist warning to sync_from_nova.py: it now tracks which blocked chain_ids actually matched something in Nova's current chains across all versions, and prints a warning listing any that didn't - so this exact silent drift is caught at sync time going forward instead of rotting unnoticed for another five months.