From df8864f9b096da9448c480586a0edfa861ed0e0a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Mar 2015 15:04:51 -0700 Subject: [PATCH 1/4] Revert "make sure UserActivityLogger::close() waits for the pending log message to complete" This reverts commit 3bd3f5a6d22ca68d508c90a541015ab6c122c581. --- libraries/networking/src/AccountManager.cpp | 12 ------------ libraries/networking/src/AccountManager.h | 4 ---- libraries/networking/src/UserActivityLogger.cpp | 4 +--- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/libraries/networking/src/AccountManager.cpp b/libraries/networking/src/AccountManager.cpp index e71c80efc8..2a809f2a7c 100644 --- a/libraries/networking/src/AccountManager.cpp +++ b/libraries/networking/src/AccountManager.cpp @@ -19,7 +19,6 @@ #include #include #include -#include #include #include @@ -300,8 +299,6 @@ void AccountManager::processReply() { passErrorToCallback(requestReply); } delete requestReply; - - emit replyFinished(); } void AccountManager::passSuccessToCallback(QNetworkReply* requestReply) { @@ -342,15 +339,6 @@ void AccountManager::passErrorToCallback(QNetworkReply* requestReply) { } } -void AccountManager::waitForAllPendingReplies() { - while (_pendingCallbackMap.size() > 0) { - QEventLoop loop; - QObject::connect(this, &AccountManager::replyFinished, &loop, &QEventLoop::quit); - loop.exec(); - } -} - - void AccountManager::persistAccountToSettings() { if (_shouldPersistToSettingsFile) { // store this access token into the local settings diff --git a/libraries/networking/src/AccountManager.h b/libraries/networking/src/AccountManager.h index 22d070fbe6..2c9a441db1 100644 --- a/libraries/networking/src/AccountManager.h +++ b/libraries/networking/src/AccountManager.h @@ -72,8 +72,6 @@ public: void requestProfile(); DataServerAccountInfo& getAccountInfo() { return _accountInfo; } - - void waitForAllPendingReplies(); public slots: void requestAccessToken(const QString& login, const QString& password); @@ -95,8 +93,6 @@ signals: void loginFailed(); void logoutComplete(); void balanceChanged(qint64 newBalance); - void replyFinished(); - private slots: void processReply(); void handleKeypairGenerationError(); diff --git a/libraries/networking/src/UserActivityLogger.cpp b/libraries/networking/src/UserActivityLogger.cpp index f74ea99c1e..f2646369c1 100644 --- a/libraries/networking/src/UserActivityLogger.cpp +++ b/libraries/networking/src/UserActivityLogger.cpp @@ -61,7 +61,7 @@ void UserActivityLogger::logAction(QString action, QJsonObject details, JSONCall params.errorCallbackReceiver = this; params.errorCallbackMethod = "requestError"; } - + accountManager.authenticatedRequest(USER_ACTIVITY_URL, QNetworkAccessManager::PostOperation, params, @@ -89,8 +89,6 @@ void UserActivityLogger::launch(QString applicationVersion) { void UserActivityLogger::close() { const QString ACTION_NAME = "close"; logAction(ACTION_NAME, QJsonObject()); - - AccountManager::getInstance().waitForAllPendingReplies(); } void UserActivityLogger::changedDisplayName(QString displayName) { From 0b55a0f123dc7ebfec579bfd119659394bfef6e2 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Mar 2015 15:06:44 -0700 Subject: [PATCH 2/4] remove the close event from UserActivityLogger --- interface/src/Application.cpp | 4 ---- libraries/networking/src/UserActivityLogger.cpp | 5 ----- libraries/networking/src/UserActivityLogger.h | 2 +- 3 files changed, 1 insertion(+), 10 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 72c17ed09b..3457000fdb 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -573,10 +573,6 @@ void Application::cleanupBeforeQuit() { _settingsThread.quit(); saveSettings(); _window->saveGeometry(); - - // TODO: now that this is in cleanupBeforeQuit do we really need it to stop and force - // an event loop to send the packet? - UserActivityLogger::getInstance().close(); // let the avatar mixer know we're out MyAvatar::sendKillAvatar(); diff --git a/libraries/networking/src/UserActivityLogger.cpp b/libraries/networking/src/UserActivityLogger.cpp index f2646369c1..64828708b2 100644 --- a/libraries/networking/src/UserActivityLogger.cpp +++ b/libraries/networking/src/UserActivityLogger.cpp @@ -86,11 +86,6 @@ void UserActivityLogger::launch(QString applicationVersion) { logAction(ACTION_NAME, actionDetails); } -void UserActivityLogger::close() { - const QString ACTION_NAME = "close"; - logAction(ACTION_NAME, QJsonObject()); -} - void UserActivityLogger::changedDisplayName(QString displayName) { const QString ACTION_NAME = "changed_display_name"; QJsonObject actionDetails; diff --git a/libraries/networking/src/UserActivityLogger.h b/libraries/networking/src/UserActivityLogger.h index 295ad5ee8d..2811be86a8 100644 --- a/libraries/networking/src/UserActivityLogger.h +++ b/libraries/networking/src/UserActivityLogger.h @@ -30,7 +30,7 @@ public slots: void logAction(QString action, QJsonObject details = QJsonObject(), JSONCallbackParameters params = JSONCallbackParameters()); void launch(QString applicationVersion); - void close(); + void changedDisplayName(QString displayName); void changedModel(QString typeOfModel, QString modelURL); void changedDomain(QString domainURL); From bc6ac9081fa42ed94fc89d28bc773f373bd28ff8 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Mar 2015 15:08:05 -0700 Subject: [PATCH 3/4] remove the launch activity from UserActivityLogger --- interface/src/Application.cpp | 1 - libraries/networking/src/UserActivityLogger.cpp | 9 --------- libraries/networking/src/UserActivityLogger.h | 2 -- 3 files changed, 12 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 3457000fdb..2b990ec09b 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -407,7 +407,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : // set the account manager's root URL and trigger a login request if we don't have the access token accountManager.setAuthURL(DEFAULT_NODE_AUTH_URL); - UserActivityLogger::getInstance().launch(applicationVersion()); // once the event loop has started, check and signal for an access token QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection); diff --git a/libraries/networking/src/UserActivityLogger.cpp b/libraries/networking/src/UserActivityLogger.cpp index 64828708b2..d21f524576 100644 --- a/libraries/networking/src/UserActivityLogger.cpp +++ b/libraries/networking/src/UserActivityLogger.cpp @@ -77,15 +77,6 @@ void UserActivityLogger::requestError(QNetworkReply& errorReply) { qDebug() << errorReply.error() << "-" << errorReply.errorString(); } -void UserActivityLogger::launch(QString applicationVersion) { - const QString ACTION_NAME = "launch"; - QJsonObject actionDetails; - QString VERSION_KEY = "version"; - actionDetails.insert(VERSION_KEY, applicationVersion); - - logAction(ACTION_NAME, actionDetails); -} - void UserActivityLogger::changedDisplayName(QString displayName) { const QString ACTION_NAME = "changed_display_name"; QJsonObject actionDetails; diff --git a/libraries/networking/src/UserActivityLogger.h b/libraries/networking/src/UserActivityLogger.h index 2811be86a8..edc17a6472 100644 --- a/libraries/networking/src/UserActivityLogger.h +++ b/libraries/networking/src/UserActivityLogger.h @@ -29,8 +29,6 @@ public slots: void disable(bool disable); void logAction(QString action, QJsonObject details = QJsonObject(), JSONCallbackParameters params = JSONCallbackParameters()); - void launch(QString applicationVersion); - void changedDisplayName(QString displayName); void changedModel(QString typeOfModel, QString modelURL); void changedDomain(QString domainURL); From 0fe843db019d644b4534e05f91c47e8d33d2d468 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Mar 2015 15:53:05 -0700 Subject: [PATCH 4/4] Revert "remove the launch activity from UserActivityLogger" This reverts commit bc6ac9081fa42ed94fc89d28bc773f373bd28ff8. --- interface/src/Application.cpp | 1 + libraries/networking/src/UserActivityLogger.cpp | 9 +++++++++ libraries/networking/src/UserActivityLogger.h | 2 ++ 3 files changed, 12 insertions(+) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 2b990ec09b..3457000fdb 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -407,6 +407,7 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) : // set the account manager's root URL and trigger a login request if we don't have the access token accountManager.setAuthURL(DEFAULT_NODE_AUTH_URL); + UserActivityLogger::getInstance().launch(applicationVersion()); // once the event loop has started, check and signal for an access token QMetaObject::invokeMethod(&accountManager, "checkAndSignalForAccessToken", Qt::QueuedConnection); diff --git a/libraries/networking/src/UserActivityLogger.cpp b/libraries/networking/src/UserActivityLogger.cpp index d21f524576..64828708b2 100644 --- a/libraries/networking/src/UserActivityLogger.cpp +++ b/libraries/networking/src/UserActivityLogger.cpp @@ -77,6 +77,15 @@ void UserActivityLogger::requestError(QNetworkReply& errorReply) { qDebug() << errorReply.error() << "-" << errorReply.errorString(); } +void UserActivityLogger::launch(QString applicationVersion) { + const QString ACTION_NAME = "launch"; + QJsonObject actionDetails; + QString VERSION_KEY = "version"; + actionDetails.insert(VERSION_KEY, applicationVersion); + + logAction(ACTION_NAME, actionDetails); +} + void UserActivityLogger::changedDisplayName(QString displayName) { const QString ACTION_NAME = "changed_display_name"; QJsonObject actionDetails; diff --git a/libraries/networking/src/UserActivityLogger.h b/libraries/networking/src/UserActivityLogger.h index edc17a6472..2811be86a8 100644 --- a/libraries/networking/src/UserActivityLogger.h +++ b/libraries/networking/src/UserActivityLogger.h @@ -29,6 +29,8 @@ public slots: void disable(bool disable); void logAction(QString action, QJsonObject details = QJsonObject(), JSONCallbackParameters params = JSONCallbackParameters()); + void launch(QString applicationVersion); + void changedDisplayName(QString displayName); void changedModel(QString typeOfModel, QString modelURL); void changedDomain(QString domainURL);