fix(ui): remove the "Taking longer than expected" startup stall notice
It added clutter to the loading screen (the yellow title + two lines of explanatory text). The live daemon-output panel below it is the real progress signal. connect_stall_since_ stays maintained in app_network.cpp for connection bookkeeping; it just no longer drives any on-screen text (loading_stall_* i18n strings + util::connectHasStalled are now unused). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
52
src/app.cpp
52
src/app.cpp
@@ -6511,54 +6511,10 @@ void App::renderLoadingOverlay(float contentH)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
// 3d. The "Taking longer than expected" stall notice was intentionally removed — it added
|
||||||
// 3d. "Taking longer than expected" notice — the daemon is reachable/launching but
|
// clutter to the startup screen. The live daemon-output panel below is the real signal that
|
||||||
// hasn't become ready within the stall threshold. The connect loop keeps retrying
|
// the node is making progress. (connect_stall_since_ is still maintained in app_network.cpp
|
||||||
// underneath (this notice clears itself the instant it connects); it just stops the
|
// for connection bookkeeping; it just no longer drives any on-screen text.)
|
||||||
// user staring at a silent spinner forever. Guarded off while the daemon is in the
|
|
||||||
// Error state — that case is owned by the crash block (3c) above.
|
|
||||||
// -------------------------------------------------------------------
|
|
||||||
if (connect_stall_since_ > 0.0 &&
|
|
||||||
!(daemon_controller_ &&
|
|
||||||
daemon_controller_->state() == daemon::EmbeddedDaemon::State::Error) &&
|
|
||||||
util::connectHasStalled(connect_stall_since_, ImGui::GetTime(),
|
|
||||||
loadElem("stall-timeout-sec", util::kConnectStallDefaultSeconds))) {
|
|
||||||
curY += gap;
|
|
||||||
ImFont* bodyFont2 = Type().body2();
|
|
||||||
if (!bodyFont2) bodyFont2 = ImGui::GetFont();
|
|
||||||
ImFont* capFont = Type().caption();
|
|
||||||
if (!capFont) capFont = ImGui::GetFont();
|
|
||||||
|
|
||||||
// Title
|
|
||||||
const char* title = TR("loading_stall_title");
|
|
||||||
ImVec2 ts = bodyFont2->CalcTextSizeA(bodyFont2->LegacySize, FLT_MAX, 0.0f, title);
|
|
||||||
dl->AddText(bodyFont2, bodyFont2->LegacySize,
|
|
||||||
ImVec2(wp.x + cx - ts.x * 0.5f, curY),
|
|
||||||
IM_COL32(255, 210, 90, 235), title);
|
|
||||||
curY += ts.y + gap * 0.5f;
|
|
||||||
|
|
||||||
// Body (wrapped) — reassure + show elapsed seconds
|
|
||||||
char stallBody[256];
|
|
||||||
snprintf(stallBody, sizeof(stallBody), TR("loading_stall_body"),
|
|
||||||
(float)(ImGui::GetTime() - connect_stall_since_));
|
|
||||||
float wrapW = ws.x * 0.8f;
|
|
||||||
if (wrapW > 640.0f * dpi) wrapW = 640.0f * dpi;
|
|
||||||
ImVec2 bs = capFont->CalcTextSizeA(capFont->LegacySize, FLT_MAX, wrapW, stallBody);
|
|
||||||
dl->AddText(capFont, capFont->LegacySize,
|
|
||||||
ImVec2(wp.x + cx - wrapW * 0.5f, curY),
|
|
||||||
IM_COL32(200, 200, 200, 210), stallBody, nullptr, wrapW);
|
|
||||||
curY += bs.y + gap * 0.5f;
|
|
||||||
|
|
||||||
// Actionable guidance (full-node only — lite has no daemon to restart)
|
|
||||||
if (supportsFullNodeLifecycleActions()) {
|
|
||||||
const char* hint = TR("loading_stall_hint");
|
|
||||||
ImVec2 hs = capFont->CalcTextSizeA(capFont->LegacySize, FLT_MAX, 0.0f, hint);
|
|
||||||
dl->AddText(capFont, capFont->LegacySize,
|
|
||||||
ImVec2(wp.x + cx - hs.x * 0.5f, curY),
|
|
||||||
IM_COL32(180, 180, 180, 190), hint);
|
|
||||||
curY += hs.y + gap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
// 4. Daemon output snippet (last few lines, if embedded)
|
// 4. Daemon output snippet (last few lines, if embedded)
|
||||||
|
|||||||
Reference in New Issue
Block a user