The fact we currently have SYNC_MAX_CONCURRENT obviously help.
Technically it should be possible to set SYNC_MAX_CONCURRENT to higher values, libcore should be fine,
but there is obviously an issue, so it will be up to core devs to investigate this, can set LEDGER_SYNC_MAX_CONCURRENT env var
- a priority queue
- don't sync during critical part of the app
- don't sync more than 2 at same time
- sync when opening a specific account
- sync a selected account in the send/receive modals
- refresh countervalue in send
room for improvment around this:
withLibcore() need to lock less often. typically we lock the whole libcore during a http call triggered by a sync. this blocks the Sign Transaction on device to happen. we also need to be able to interrupt a sync, which is not yet implemented.