From b7f25640abd7b5be3145cd7bbf00d350361e8264 Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Mon, 10 Nov 2025 00:15:13 -0500 Subject: [PATCH] feat: add support for numbered socket paths in candidateSocketPaths function --- src/StardustBridge.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/StardustBridge.cpp b/src/StardustBridge.cpp index b94b94c..cb50e18 100644 --- a/src/StardustBridge.cpp +++ b/src/StardustBridge.cpp @@ -38,6 +38,10 @@ std::vector candidateSocketPaths() { std::string xdg; if (const char* env = std::getenv("XDG_RUNTIME_DIR")) xdg = env; if (!xdg.empty()) { + // Try numbered sockets first (stardust-0, stardust-1, etc.) - this is what Stardust actually creates + for (int i = 0; i < 10; ++i) { + out.emplace_back(xdg + "/stardust-" + std::to_string(i)); + } out.emplace_back(xdg + "/stardust.sock"); out.emplace_back(xdg + "/stardustxr.sock"); out.emplace_back(xdg + "/stardust/stardust.sock"); @@ -48,6 +52,10 @@ std::vector candidateSocketPaths() { char uidPath[128]; std::snprintf(uidPath, sizeof(uidPath), "/run/user/%d", (int)getuid()); std::string runUser(uidPath); + // Try numbered sockets first + for (int i = 0; i < 10; ++i) { + out.emplace_back(runUser + "/stardust-" + std::to_string(i)); + } out.emplace_back(runUser + "/stardust.sock"); out.emplace_back(runUser + "/stardustxr.sock"); out.emplace_back(runUser + "/stardust/stardust.sock");