From 8e2ffba6095b592b5ef047a46e11dc7307a10176 Mon Sep 17 00:00:00 2001 From: Eric <5089238+emizzle@users.noreply.github.com> Date: Tue, 17 Mar 2026 01:42:54 +1100 Subject: [PATCH] Add logos instance id (#64) Allows multiple Logos core instances to run on the same machine by giving appending a unique instance identifier to each registry url. Bump logos-cpp-sdk to support the instance id and fix bad url in gitmodules. # Conflicts: # flake.lock # flake.nix --- .gitignore | 1 + .gitmodules | 2 +- flake.lock | 7 ++++--- flake.nix | 2 +- src/logos_core/app_lifecycle.cpp | 3 ++- vendor/logos-cpp-sdk | 1 + 6 files changed, 10 insertions(+), 6 deletions(-) create mode 160000 vendor/logos-cpp-sdk diff --git a/.gitignore b/.gitignore index 7add6a3..c592f2c 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,4 @@ Thumbs.db result examples/cli +.cache diff --git a/.gitmodules b/.gitmodules index 3cafad0..8f9705b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "vendor/logos-cpp-sdk"] path = vendor/logos-cpp-sdk - url = git@github.com:logos-co/logos-cpp-sdk.git + url = https://github.com/logos-co/logos-cpp-sdk diff --git a/flake.lock b/flake.lock index 289c7b4..d6418d1 100644 --- a/flake.lock +++ b/flake.lock @@ -65,15 +65,16 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1772028960, - "narHash": "sha256-BDWFjaKeoJW8oWDlPphNINt5U3P1xt1z1Y4f9jyC7uU=", + "lastModified": 1772190849, + "narHash": "sha256-p+kv2WHokT40rScnSFSIDp/EeFLaDUsTHW6QT6ejKuc=", "owner": "logos-co", "repo": "logos-cpp-sdk", - "rev": "95f763b48d74bcdc63093b05159f43500cab139e", + "rev": "33af269f645c7dd8e74a9d1d5c834f0ea5ec9447", "type": "github" }, "original": { "owner": "logos-co", + "ref": "feat/logos-instance-id", "repo": "logos-cpp-sdk", "type": "github" } diff --git a/flake.nix b/flake.nix index b429d7f..c3e12a5 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,7 @@ inputs = { # Follow the same nixpkgs as logos-cpp-sdk to ensure compatibility nixpkgs.follows = "logos-cpp-sdk/nixpkgs"; - logos-cpp-sdk.url = "github:logos-co/logos-cpp-sdk"; + logos-cpp-sdk.url = "github:logos-co/logos-cpp-sdk?ref=feat/logos-instance-id"; logos-capability-module.url = "github:logos-co/logos-capability-module"; logos-module.url = "github:logos-co/logos-module"; nix-bundle-dir.url = "github:logos-co/nix-bundle-dir"; diff --git a/src/logos_core/app_lifecycle.cpp b/src/logos_core/app_lifecycle.cpp index bc6080d..279028d 100644 --- a/src/logos_core/app_lifecycle.cpp +++ b/src/logos_core/app_lifecycle.cpp @@ -2,6 +2,7 @@ #include "logos_core_internal.h" #include "plugin_manager.h" #include "logos_mode.h" +#include "logos_instance.h" #include #include #include @@ -65,7 +66,7 @@ namespace AppLifecycle { // Initialize Qt Remote Object registry host if (!g_registry_host) { - g_registry_host = new QRemoteObjectRegistryHost(QUrl(QStringLiteral("local:logos_core_manager"))); + g_registry_host = new QRemoteObjectRegistryHost(QUrl(LogosInstance::id("core_manager"))); qDebug() << "Qt Remote Object registry host initialized at: local:logos_core_manager"; } diff --git a/vendor/logos-cpp-sdk b/vendor/logos-cpp-sdk new file mode 160000 index 0000000..33af269 --- /dev/null +++ b/vendor/logos-cpp-sdk @@ -0,0 +1 @@ +Subproject commit 33af269f645c7dd8e74a9d1d5c834f0ea5ec9447