diff --git a/Services/PortalService.qml b/Services/PortalService.qml index 158acd2d..6cd6a2e5 100644 --- a/Services/PortalService.qml +++ b/Services/PortalService.qml @@ -151,20 +151,6 @@ Singleton { Component.onCompleted: { Qt.callLater(initializeDMSConnection) - fallbackCheckTimer.start() - } - - Timer { - id: fallbackCheckTimer - interval: 1000 - running: false - onTriggered: { - if (!freedeskAvailable) { - console.log("PortalService: DMS not available, using fallback methods") - checkAccountsServiceFallback() - checkSettingsPortalFallback() - } - } } function initializeDMSConnection() { @@ -175,10 +161,23 @@ Singleton { dmsService.service.capabilitiesChanged.connect(onDMSCapabilitiesChanged) if (dmsService.service.isConnected) { onDMSConnected() + } else { + Qt.callLater(checkFallback) } + } else { + Qt.callLater(checkFallback) } } catch (e) { console.warn("PortalService: Failed to initialize DMS connection:", e) + Qt.callLater(checkFallback) + } + } + + function checkFallback() { + if (!freedeskAvailable) { + console.log("PortalService: DMS not available, using fallback methods") + checkAccountsServiceFallback() + checkSettingsPortalFallback() } } diff --git a/Services/SessionService.qml b/Services/SessionService.qml index d697aa2e..576b103c 100644 --- a/Services/SessionService.qml +++ b/Services/SessionService.qml @@ -63,19 +63,6 @@ Singleton { detectPrimeRunProcess.running = true console.log("SessionService: Native inhibitor available:", nativeInhibitorAvailable) Qt.callLater(initializeDMSConnection) - fallbackCheckTimer.start() - } - } - - Timer { - id: fallbackCheckTimer - interval: 1000 - running: false - onTriggered: { - if (!loginctlAvailable) { - console.log("SessionService: DMS not available, using fallback methods") - initFallbackLoginctl() - } } } @@ -330,11 +317,23 @@ Singleton { checkCapabilities() dmsService.service.connectionStateChanged.connect(onDMSConnectionStateChanged) dmsService.service.capabilitiesChanged.connect(onDMSCapabilitiesChanged) + if (!dmsService.service.isConnected) { + Qt.callLater(checkFallback) + } } else { console.warn("SessionService: Failed to get DMS service reference") + Qt.callLater(checkFallback) } } catch (e) { console.warn("SessionService: Failed to initialize DMS connection:", e) + Qt.callLater(checkFallback) + } + } + + function checkFallback() { + if (!loginctlAvailable) { + console.log("SessionService: DMS not available, using fallback methods") + initFallbackLoginctl() } }