perf(ui): stop forcing full wallet re-scans on restore and peers refresh
Restoring or un-maximizing the window called refreshNow(), which wipes the history-scan progress and re-scans every z-address (a z_listreceivedbyaddress per address, each holding cs_main). The Peers tab's refresh button did the same, and holding F5 auto-repeated it. - Window restore no longer forces a refresh; the regular timers catch up (skipping the daemon-output backlog stays). - The Peers refresh button refreshes peers only. - F5 ignores key repeat. An explicit F5 or History refresh still does the full re-scan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -1705,11 +1705,12 @@ int main(int argc, char* argv[])
|
||||
lastKnownH = waitEvent.window.data2;
|
||||
}
|
||||
}
|
||||
// Window restored from minimized — trigger immediate data refresh
|
||||
// Window restored. No forced refresh: update() keeps running while minimized, so the data
|
||||
// is current, and refreshNow() wiped the shielded-scan progress and re-scanned every
|
||||
// z-address (SDL also sends RESTORED on un-maximize, so a title-bar double-click did it).
|
||||
if (waitEvent.type == SDL_EVENT_WINDOW_RESTORED &&
|
||||
waitEvent.window.windowID == SDL_GetWindowID(window)) {
|
||||
app.skipDaemonOutputBacklog(); // drop the minimized-period backlog (avoids a spurious "rescan complete" toast)
|
||||
app.refreshNow();
|
||||
}
|
||||
// Handle DPI change that arrived while idle (same logic as poll loop)
|
||||
if (waitEvent.type == SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED &&
|
||||
@@ -1852,11 +1853,10 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
}
|
||||
}
|
||||
// Window restored from minimized — trigger immediate data refresh
|
||||
// Window restored: no forced refresh (see the wait branch above).
|
||||
if (event.type == SDL_EVENT_WINDOW_RESTORED &&
|
||||
event.window.windowID == SDL_GetWindowID(window)) {
|
||||
app.skipDaemonOutputBacklog(); // drop the minimized-period backlog (avoids a spurious "rescan complete" toast)
|
||||
app.refreshNow();
|
||||
}
|
||||
// Handle DPI/display scale changes (e.g. window dragged to a
|
||||
// different-DPI monitor, or user changes Windows scaling)
|
||||
|
||||
Reference in New Issue
Block a user