From 9335e2bffb1ec6a73900d208af5f7e2fbbe35887 Mon Sep 17 00:00:00 2001 From: DanS Date: Mon, 26 Oct 2026 14:05:47 -0500 Subject: [PATCH] fix(wallet): always flag a user-started consolidation as manual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit startConsolidation reset the shared ConsolidationRun but never cleared auto_consolidate_run_. In the rare window where a background auto cycle was torn down by a disconnect (abort) before pumpAutoConsolidation cleared its flag, a user-started run could inherit the stale flag and be treated as an auto cycle — silent (no merge-done/failed toasts) and auto-dismissed. Clear the flag on a successful manual start so a user run always keeps its own notifications and lifecycle. No behavior change in the normal case. Build + tests green. Co-Authored-By: Claude Opus 4.8 --- src/app_network.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app_network.cpp b/src/app_network.cpp index 57e5311..1224927 100644 --- a/src/app_network.cpp +++ b/src/app_network.cpp @@ -6224,6 +6224,8 @@ bool App::startConsolidation(const std::vector& groups, dou n.warning(TR("merge_keep_each_select")); return false; } + auto_consolidate_run_ = false; // a user-started run is never treated as a silent auto cycle, even if an + // auto run was torn down (abort) with its flag not yet cleared n.success(TR("merge_started")); return true; // syncing, the lock, a busy node and pending sends are the run's own pauses }