From 3fe3f674d0875dfa801995e7b0caea6398784459 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Wed, 12 Sep 2018 15:45:06 -0700 Subject: [PATCH 1/5] adding fix for getting DomainHandler into error state --- libraries/networking/src/DomainHandler.cpp | 15 ++++++++++----- libraries/networking/src/DomainHandler.h | 5 +++-- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index 59e3de922f..a432b41a0d 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -55,6 +55,9 @@ DomainHandler::DomainHandler(QObject* parent) : // stop the refresh timer if we connect to a domain connect(this, &DomainHandler::connectedToDomain, &_apiRefreshTimer, &QTimer::stop); + + // stop the refresh timer if we connect to a domain + connect(this, &DomainHandler::redirectToErrorDomainURL, &_apiRefreshTimer, &QTimer::stop); } void DomainHandler::disconnect() { @@ -99,7 +102,6 @@ void DomainHandler::softReset() { clearSettings(); - _isInErrorState = false; _connectionDenialsSinceKeypairRegen = 0; _checkInPacketsSinceLastReply = 0; @@ -107,11 +109,14 @@ void DomainHandler::softReset() { QMetaObject::invokeMethod(&_settingsTimer, "stop"); // restart the API refresh timer in case we fail to connect and need to refresh information - QMetaObject::invokeMethod(&_apiRefreshTimer, "start"); + if (!_isInErrorState) + QMetaObject::invokeMethod(&_apiRefreshTimer, "start"); + _isInErrorState = false; } void DomainHandler::hardReset() { - emit resetting(); + if (!_isInErrorState) + emit resetting(); softReset(); @@ -338,6 +343,7 @@ void DomainHandler::loadedErrorDomain(std::map namedPaths) { void DomainHandler::setRedirectErrorState(QUrl errorUrl, int reasonCode) { _errorDomainURL = errorUrl; _lastDomainConnectionError = reasonCode; + _isInErrorState = true; emit redirectToErrorDomainURL(_errorDomainURL); } @@ -480,9 +486,8 @@ void DomainHandler::processDomainServerConnectionDeniedPacket(QSharedPointer namedPaths); void loadedErrorDomain(std::map namedPaths); - // sets domain handler in error state. - void setRedirectErrorState(QUrl errorUrl, int reasonCode); QString getViewPointFromNamedPath(QString namedPath); @@ -172,6 +170,9 @@ public slots: void processICEResponsePacket(QSharedPointer icePacket); void processDomainServerConnectionDeniedPacket(QSharedPointer message); + // sets domain handler in error state. + void setRedirectErrorState(QUrl errorUrl, int reasonCode); + private slots: void completedHostnameLookup(const QHostInfo& hostInfo); void completedIceServerHostnameLookup(); From ad233677b8898814570d163db0755c327a4577e0 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Wed, 12 Sep 2018 18:31:01 -0700 Subject: [PATCH 2/5] adding changes for overriding host change for error state --- libraries/networking/src/AddressManager.cpp | 5 ++++- libraries/networking/src/DomainHandler.cpp | 8 +++++--- libraries/networking/src/DomainHandler.h | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index 9e5cbcaa7b..ebb4e325e3 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -269,6 +269,7 @@ bool AddressManager::handleUrl(const QUrl& lookupUrl, LookupTrigger trigger) { // save the last visited domain URL. _lastVisitedURL = lookupUrl; + auto lastVisitedURLStr = lookupUrl.toString().toStdString(); // a network address lookup clears the previous lookup since we don't expect to re-attempt it _previousAPILookup.clear(); @@ -816,8 +817,10 @@ bool AddressManager::setDomainInfo(const QUrl& domainURL, LookupTrigger trigger) const QString hostname = domainURL.host(); quint16 port = domainURL.port(); bool emitHostChanged { false }; + // Check if domain handler is in error state. always emit host changed if true. + bool isInErrorState = DependencyManager::get()->getDomainHandler().isInErrorState(); - if (domainURL != _domainURL) { + if (domainURL != _domainURL || isInErrorState) { addCurrentAddressToHistory(trigger); emitHostChanged = true; } diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index a432b41a0d..c20a7057f8 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -56,7 +56,7 @@ DomainHandler::DomainHandler(QObject* parent) : // stop the refresh timer if we connect to a domain connect(this, &DomainHandler::connectedToDomain, &_apiRefreshTimer, &QTimer::stop); - // stop the refresh timer if we connect to a domain + // stop the refresh timer if redirected to the error domain connect(this, &DomainHandler::redirectToErrorDomainURL, &_apiRefreshTimer, &QTimer::stop); } @@ -109,14 +109,16 @@ void DomainHandler::softReset() { QMetaObject::invokeMethod(&_settingsTimer, "stop"); // restart the API refresh timer in case we fail to connect and need to refresh information - if (!_isInErrorState) + if (!_isInErrorState) { QMetaObject::invokeMethod(&_apiRefreshTimer, "start"); + } _isInErrorState = false; } void DomainHandler::hardReset() { - if (!_isInErrorState) + if (!_isInErrorState) { emit resetting(); + } softReset(); diff --git a/libraries/networking/src/DomainHandler.h b/libraries/networking/src/DomainHandler.h index 6381dbb546..3d361482ac 100644 --- a/libraries/networking/src/DomainHandler.h +++ b/libraries/networking/src/DomainHandler.h @@ -173,6 +173,8 @@ public slots: // sets domain handler in error state. void setRedirectErrorState(QUrl errorUrl, int reasonCode); + bool isInErrorState() { return _isInErrorState; } + private slots: void completedHostnameLookup(const QHostInfo& hostInfo); void completedIceServerHostnameLookup(); From 5902699870bade4efe47b41761d2ff218241ab39 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Wed, 12 Sep 2018 22:54:23 -0700 Subject: [PATCH 3/5] adding updated models for redirect --- .../meshes/redirect/oopsDialog_timeout.fbx | Bin 0 -> 31904 bytes .../meshes/redirect/oopsDialog_timeout.png | Bin 0 -> 4555 bytes .../meshes/redirect/oopsDialog_vague.fbx | Bin 32480 -> 32448 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 interface/resources/meshes/redirect/oopsDialog_timeout.fbx create mode 100644 interface/resources/meshes/redirect/oopsDialog_timeout.png diff --git a/interface/resources/meshes/redirect/oopsDialog_timeout.fbx b/interface/resources/meshes/redirect/oopsDialog_timeout.fbx new file mode 100644 index 0000000000000000000000000000000000000000..846d38bbee3f38ddb874005669bb38561f293584 GIT binary patch literal 31904 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 literal 0 HcmV?d00001 diff --git a/interface/resources/meshes/redirect/oopsDialog_vague.fbx b/interface/resources/meshes/redirect/oopsDialog_vague.fbx index 324d90578b833552f01a1199fbded078b49900ba..707f09e51a8872b44615aafbe7d5dab5c7306f51 100644 GIT binary patch delta 1251 zcmZ`&UrbwN6hGft|BN~;AnSsotX(_CoY3B~G9V_5F$H5giXd%C=GK_jb+X>udv8k% z?O=)73pkM@50Xt-Voaus5$k-I$?TK|eK0uVpTq~3r?&dJF+ zzw`Uf`JG#9thmNr&occs0GOu*w!^6F;Zx$n7P`P3%t}S(FjN9S1=1yEp>^;U=fOjWxNztXC(+`Tn*D%A;7%UKh()i7iNb7)%c@8Cqq`l z&)q7LiMQfPf?f$Z@poQAMZ9)l*i8LYf;hO>t3?0Hx1a%JklXmtD z`IENY6%Q$R0R3hFh{cDaTpO@~Xhu$n(S87c2tAwR*g3k9bmH|S^*&;uwWJM~MYSs@ zlC`0S7MwaJ({tisd`qOoh6m`yS}U%L!waKfR zxb$HhOqY1Ed0I}p@R#%^t!C;Q=|o|qL<=t~?m_%&gigr^usTBvvJcm@bUssWIPus^ ziYl&UcHy^Kwbyr%Vmb?HkktJ(G4PD7L`(jLMsM8EIZCKXT zj{wjc@ckE~0sscYNJ0`KVl*ME{mOG%;g*g18pYCluDnV+1%OSULo}J&U8%|%z*qW< zM3Xstm3FHDzS2ZqR>EfOGB?AtShf>&XH;dcTG%M*SVv2lV+LpoZO4cikc|vnD=-+em@Ok(qz3KVzHMm> zj3s6_%7yYwFQ&3_vzRO&22-(0TOT5AP!G#}jADP5tR?XW2W=ni8pPW3; zFXue}H=W@-8Jo5NIV&sjCp9Ea^D*meUxEv_lLsc#Y&+i^=0>I z=5d62_Mpvd!(8KTz6oHc+VRYjS}*G zvKW^XZ`~8#D=`sx6l;vh>1AvN@bSw?kDl; zAICczg*{{w7ov~x%|)|(N1`TiBbMc}#kTn5*cRXQ*d`zU4Jl?79m8O`Lre~50dFES zoCOpGaeN~m5=Y|L9&rdcj^>D4oJqnOe@3PIb?JVF@nXD8v?Q}(tqDxWTg5vG^cOd3 zB-g}OP9pj)0b`{BoXwv_7SsX^XmT% zK21c&0s{k4IX72<=23G|uF*>VMooINa;}d=?#;kAvvTeY61g|A=M-6+dvRN`^2gv( zq(_Zx#_DL55a)1ruO8)NMLY)Qn4M?w%2*x$jQ7Vb=y%>uufFu@$od;)_bQ}~B@m(d G9R3AsWTBP- From 380f24b37fca1c6f6df24fb37fffb9d8b5062f04 Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Thu, 13 Sep 2018 11:53:21 -0700 Subject: [PATCH 4/5] adding fix, changing window title --- interface/src/Application.cpp | 11 +++++++++-- libraries/networking/src/AddressManager.cpp | 1 - libraries/networking/src/DomainHandler.cpp | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 77e2cb3211..889d3ce9c6 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -6346,6 +6346,8 @@ void Application::updateWindowTitle() const { auto nodeList = DependencyManager::get(); auto accountManager = DependencyManager::get(); + auto isInErrorState = nodeList->getDomainHandler().isInErrorState(); + auto isConnected = nodeList->getDomainHandler().isConnected(); QString buildVersion = " - " + (BuildInfo::BUILD_TYPE == BuildInfo::BuildType::Stable ? QString("Version") : QString("Build")) @@ -6353,14 +6355,19 @@ void Application::updateWindowTitle() const { QString loginStatus = accountManager->isLoggedIn() ? "" : " (NOT LOGGED IN)"; - QString connectionStatus = nodeList->getDomainHandler().isConnected() ? "" : " (NOT CONNECTED)"; + QString connectionStatus = isInErrorState ? " (ERROR CONNECTING)" : + nodeList->getDomainHandler().isConnected() ? "" : " (NOT CONNECTED)"; QString username = accountManager->getAccountInfo().getUsername(); setCrashAnnotation("username", username.toStdString()); QString currentPlaceName; if (isServerlessMode()) { - currentPlaceName = "serverless: " + DependencyManager::get()->getDomainURL().toString(); + if (isInErrorState) { + currentPlaceName = "serverless: " + nodeList->getDomainHandler().getErrorDomainURL().toString(); + } else { + currentPlaceName = "serverless: " + DependencyManager::get()->getDomainURL().toString(); + } } else { currentPlaceName = DependencyManager::get()->getDomainURL().host(); if (currentPlaceName.isEmpty()) { diff --git a/libraries/networking/src/AddressManager.cpp b/libraries/networking/src/AddressManager.cpp index ebb4e325e3..8085039b02 100644 --- a/libraries/networking/src/AddressManager.cpp +++ b/libraries/networking/src/AddressManager.cpp @@ -269,7 +269,6 @@ bool AddressManager::handleUrl(const QUrl& lookupUrl, LookupTrigger trigger) { // save the last visited domain URL. _lastVisitedURL = lookupUrl; - auto lastVisitedURLStr = lookupUrl.toString().toStdString(); // a network address lookup clears the previous lookup since we don't expect to re-attempt it _previousAPILookup.clear(); diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index c20a7057f8..3dec310ffc 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -112,7 +112,6 @@ void DomainHandler::softReset() { if (!_isInErrorState) { QMetaObject::invokeMethod(&_apiRefreshTimer, "start"); } - _isInErrorState = false; } void DomainHandler::hardReset() { @@ -121,6 +120,7 @@ void DomainHandler::hardReset() { } softReset(); + _isInErrorState = false; qCDebug(networking) << "Hard reset in NodeList DomainHandler."; _pendingDomainID = QUuid(); From 647c4e1694f6f0abb72570007c28cfd355b2afed Mon Sep 17 00:00:00 2001 From: Wayne Chen Date: Thu, 13 Sep 2018 13:51:42 -0700 Subject: [PATCH 5/5] adding true fix for localhost timeouts --- interface/src/Application.cpp | 1 - libraries/networking/src/DomainHandler.cpp | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 889d3ce9c6..4dc2e637b6 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -6347,7 +6347,6 @@ void Application::updateWindowTitle() const { auto nodeList = DependencyManager::get(); auto accountManager = DependencyManager::get(); auto isInErrorState = nodeList->getDomainHandler().isInErrorState(); - auto isConnected = nodeList->getDomainHandler().isConnected(); QString buildVersion = " - " + (BuildInfo::BUILD_TYPE == BuildInfo::BuildType::Stable ? QString("Version") : QString("Build")) diff --git a/libraries/networking/src/DomainHandler.cpp b/libraries/networking/src/DomainHandler.cpp index 3dec310ffc..f34a93de96 100644 --- a/libraries/networking/src/DomainHandler.cpp +++ b/libraries/networking/src/DomainHandler.cpp @@ -115,9 +115,7 @@ void DomainHandler::softReset() { } void DomainHandler::hardReset() { - if (!_isInErrorState) { - emit resetting(); - } + emit resetting(); softReset(); _isInErrorState = false;