mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 19:35:51 +00:00
99c9fd9db5
ChainSyncService.syncUp() and EvmAssetsSyncService.syncEVMAssets() both diff a freshly-fetched remote list against everything currently stored locally, then apply that diff unconditionally. If the remote fetch succeeds but returns a suspiciously small or empty list (CDN hiccup, regional network filtering, a bad publish upstream) - rather than throwing, which retryUntilDone would catch and retry - the diff would delete most or all of the user's chains/assets from the local DB. This is active data loss, not a sync failure, and it self-heals on the next good sync if we just skip applying a suspicious one instead. Directly relevant: a user's live production install (unrelated to any in-flight branch work) was observed with a completely empty networks and token list after previously working fine, matching this exact failure mode.