aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-26 13:43:38 -0700
committerAdam Soltys <[email protected]>2026-06-26 13:43:38 -0700
commit445a2e772eba5377f74a1b68fe7f80508c05fa9c (patch)
tree159a79fd05eaa96430ff06dfc1839bbf036b32bc /src
parent41c7f717ef9e8a3f87f4da620a8bdedb99b293ea (diff)
downloadcoinosv3-445a2e772eba5377f74a1b68fe7f80508c05fa9c.tar.gz
coinosv3-445a2e772eba5377f74a1b68fe7f80508c05fa9c.zip
Don't hold the send spinner up during the post-broadcast rescan
broadcast() set the success result but kept ui.busy=true and didn't render until after awaiting wallet.scan(), so the 'Sign & broadcast' button spun for the whole post-send rescan (slow under rate-limiting / on the Electrum backend) — looking stuck even though the tx had already broadcast. Now it shows the success screen the instant the broadcast resolves and refreshes balances in the background. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/app.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/app.js b/src/app.js
index f812184..d5452ec 100644
--- a/src/app.js
+++ b/src/app.js
@@ -2768,7 +2768,10 @@ async function broadcast() {
ui.sendResult = { txid };
ui.draft = null;
ui.send = blankSend();
- await wallet.scan();
+ ui.busy = false;
+ render(); // show success immediately — don't hold the
+ wallet.scan().catch(() => {}); // spinner up for the post-send rescan
+ return;
} catch (e) {
ui.sendError = t('broadcastFailed', { msg: e.message });
}