aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/sync.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-07-05 21:27:06 -0700
committerAdam Soltys <[email protected]>2026-07-05 21:27:06 -0700
commit76e1a88b9c2eae1de0145ff077f038b57e68c3a8 (patch)
treef889e8fa67e47d1d3174e6cedfec14916d493f04 /src/features/sync.js
parent71fa56f0bad19d7ea7758ab6aef2ffccd46e3c5b (diff)
downloadcoinosv3-76e1a88b9c2eae1de0145ff077f038b57e68c3a8.tar.gz
coinosv3-76e1a88b9c2eae1de0145ff077f038b57e68c3a8.zip
Chunk the silent-payment catch-up scan
An imported mainnet wallet's first scan pulled the indexer's whole window (~336k tweaks, 25MB) and posted it to the worker as ONE message: it blew the 30s worker timeout, fell back to the inline main-thread loop (minutes of jank) while the worker kept grinding the orphaned request — the runaway CPU/memory users saw. The catch-up now processes 100-block chunks: each worker call is seconds, the scan watermark checkpoints after every chunk (an interrupted catch-up resumes instead of restarting from zero), buffers free as it goes, and the UI yields between chunks. Verified against the live indexer: full catch-up in ~5min of background work, main heap bounded (~80MB peak), no timeouts. Co-Authored-By: Claude Fable 5 <[email protected]>
Diffstat (limited to 'src/features/sync.js')
0 files changed, 0 insertions, 0 deletions