diff --git a/src/lib/cooperation/core/cooperationcoreplugin.cpp b/src/lib/cooperation/core/cooperationcoreplugin.cpp index eb44bb298..232a4f8ed 100644 --- a/src/lib/cooperation/core/cooperationcoreplugin.cpp +++ b/src/lib/cooperation/core/cooperationcoreplugin.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2023 - 2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2023 - 2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -24,6 +24,7 @@ #include #include #include +#include #ifdef __linux__ # include "base/reportlog/reportlogmanager.h" # include @@ -164,9 +165,6 @@ bool CooperaionCorePlugin::start() connect(HistoryManager::instance(), &HistoryManager::connectHistoryUpdated, DiscoverController::instance(), &DiscoverController::onConnectHistoryUpdated); DLOG << "Connected history update signals"; - DiscoverController::instance()->init(); // init zeroconf and regist - DLOG << "Discover controller initialized"; - // start network status listen after all ready CooperationUtil::instance()->initNetworkListener(); DLOG << "Network listener initialized"; @@ -199,6 +197,15 @@ bool CooperaionCorePlugin::start() dMain->show(); } + if (!onlyTransfer) { + // Delay discovery init to ensure main window is visible first, + // preventing focus stealing from the discovery/auth dialog + QTimer::singleShot(500, this, []() { + DiscoverController::instance()->init(); + DLOG << "Discover controller initialized (delayed)"; + }); + } + return true; }