Skip to content

Commit 239be65

Browse files
chopperbrianoclaude
andcommitted
PSP status: detect when server is not accepting registrations
The keepalive endpoint at ipfs.digiassetx.com always returns {"error":"unsubscribe failed will time out anyways"} regardless of input. Investigation shows: - /keepalive returns the same error for ALL requests (verified) - /report returns 404 (the bad-asset reporting feature is broken) - /unsubscribe returns 404 - /good.json returns "Unexpected Error" - /map.json shows only 6 nodes worldwide The PSP payment system server endpoints appear to be dormant. The dashboard now reports this clearly: PSP Pool: Pool reachable - server not accepting new registrations Network: 6 nodes online This is NOT a Windows port issue — same behavior on all platforms. Reporting upstream. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e36193c commit 239be65

1 file changed

Lines changed: 19 additions & 2 deletions

File tree

src/ConsoleDashboard.cpp

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,25 @@ void ConsoleDashboard::checkPspRegistration() {
503503
pos++;
504504
}
505505
_pspNodeCount = nodeCount;
506-
_pspStatus = "Pool reachable";
507-
_lastPspCheck = now; // cache success for 10 min
506+
507+
// Test the keepalive endpoint to detect the "unsubscribe failed" error
508+
// which indicates the server isn't actually accepting registrations
509+
try {
510+
std::string kaResponse = CurlHandler::post(
511+
"https://ipfs.digiassetx.com/keepalive",
512+
{{"address", "test"}, {"peerId", "test"}, {"visible", "v"}, {"secret", "12345678"}},
513+
5000);
514+
if (kaResponse.find("unsubscribe failed") != std::string::npos) {
515+
_pspStatus = "Pool reachable - server not accepting new registrations";
516+
} else if (kaResponse.find("error") != std::string::npos) {
517+
_pspStatus = "Pool reachable - keepalive returns error";
518+
} else {
519+
_pspStatus = "Pool reachable - keepalive OK";
520+
}
521+
} catch (...) {
522+
_pspStatus = "Pool reachable - keepalive failed";
523+
}
524+
_lastPspCheck = now; // cache for 10 min
508525
} catch (...) {
509526
_pspStatus = "Pool unreachable";
510527
// don't cache failure — retry next refresh

0 commit comments

Comments
 (0)