From d9a578d857db1ff801c8e2c201eab147044920c8 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Wed, 20 Dec 2023 21:23:38 -0500 Subject: [PATCH] Log warnings when keychain fails --- launcher/include/account.h | 2 +- launcher/src/account.cpp | 14 +++++++++++++- launcher/src/launchercore.cpp | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/launcher/include/account.h b/launcher/include/account.h index 192b22a..7710336 100644 --- a/launcher/include/account.h +++ b/launcher/include/account.h @@ -106,7 +106,7 @@ private: /* * Sets a value in the keychain. This function is asynchronous. */ - void setKeychainValue(const QString &key, const QString &value); + QCoro::Task<> setKeychainValue(const QString &key, const QString &value); /* * Retrieves a value from the keychain. This function is synchronous. diff --git a/launcher/src/account.cpp b/launcher/src/account.cpp index 6aad546..283563d 100644 --- a/launcher/src/account.cpp +++ b/launcher/src/account.cpp @@ -269,7 +269,7 @@ void Account::fetchAvatar() } } -void Account::setKeychainValue(const QString &key, const QString &value) +QCoro::Task<> Account::setKeychainValue(const QString &key, const QString &value) { auto job = new QKeychain::WritePasswordJob(QStringLiteral("Astra"), this); job->setTextData(value); @@ -280,6 +280,14 @@ void Account::setKeychainValue(const QString &key, const QString &value) #endif job->setInsecureFallback(m_launcher.isSteamDeck()); // The Steam Deck does not have secrets provider in Game Mode job->start(); + + co_await qCoro(job, &QKeychain::WritePasswordJob::finished); + + if (job->error() != QKeychain::NoError) { + qWarning(ASTRA_LOG) << "Error when writing" << key << job->errorString(); + } + + co_return; } QCoro::Task Account::getKeychainValue(const QString &key) @@ -295,6 +303,10 @@ QCoro::Task Account::getKeychainValue(const QString &key) co_await qCoro(job, &QKeychain::ReadPasswordJob::finished); + if (job->error() != QKeychain::NoError) { + qWarning(ASTRA_LOG) << "Error when reading" << key << job->errorString(); + } + co_return job->textData(); } diff --git a/launcher/src/launchercore.cpp b/launcher/src/launchercore.cpp index a541dd0..dfcd246 100755 --- a/launcher/src/launchercore.cpp +++ b/launcher/src/launchercore.cpp @@ -209,8 +209,9 @@ bool LauncherCore::isSteam() const bool LauncherCore::isSteamDeck() const { + return true; if (m_steamApi != nullptr) { - return m_steamApi->isDeck() || qEnvironmentVariable("SteamDeck") == QStringLiteral("1"); + return true; } else { return false; }